网络抓取事件价格问题

时间:2016-08-03 10:20:09

标签: ruby-on-rails json regex web-scraping

我使用的是ticketmaster作为示例网站,

我目前有这个代码

doc.xpath("//script[@type='text/javascript']/text()").each do |text|
       if text.content =~ /more_options_on_polling/
         price1 = text.to_s.scan(/\"(secnames2tickettypes)\":\"(.+?)\"/).uniq
         description = text.to_s.scan(/\"(ticket_desc)\":\"(.+?)\"/).uniq
         testing = price1.map{|a| { a[0] => a[1] } }
         desc = description.map{|a| { a[0] => a[1] } }
         byebug
         desc_wo_plus = desc.select { |a| !a['ticket_desc'].include?("+") }
         tickdesc = desc.reject { |h| "Groupon Ticket Offer".include? h['ticket_desc']}
         respond_to do |format|
           format.json  { render :json => {:testing => testing,
                                           :desc => desc_wo_plus}}
         end
       end

现在secnames2tickettypes存在(如果我把代码放在json格式化程序中那里)

这是代码的一部分:

\"secnames2tickettypes\":{\"MEZZAN\":[{\"price_secname\":\"P3\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P3\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"£3.50\",\"total_price\":26,\"formatted_price\":\"£22.50\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":\"3.5\",\"price\":\"22.5\",\"formatted_sum_fees_and_taxes\":\"£3.50\",\"sum_fees\":\"3.5\",\"formatted_total_price\":\"£26.00\"},\"svc_tax2\":0,\"price_level\":3,\"facility_charge\":0,\"service_charge\":\"3.5\",\"face_value\":\"22.5\",\"svc_tax\":0,\"legacy_price\":\"22.5\"},\"qmask_level\":0,\"secname_id\":\"1\",\"description\":\"Mezzanine\",\"ticket_desc\":\"Full Price Ticket\",\"price_secname_id\":7,\"secname_group_id\":\"2\",\"price\":\"22.5\",\"ticket_type\":\"A\",\"secname\":\"MEZZAN\",\"ext_ticket_type\":\"000000000001\"}],\"P2\":[{\"price_secname\":\"P2\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P2\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"£4.00\",\"total_price\":\"32.5\",\"formatted_price\":\"£28.50\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":4,\"price\":\"28.5\",\"formatted_sum_fees_and_taxes\":\"£4.00\",\"sum_fees\":4,\"formatted_total_price\":\"£32.50\"},\"svc_tax2\":0,\"price_level\":2,\"facility_charge\":0,\"service_charge\":4,\"face_value\":\"28.5\",\"svc_tax\":0,\"legacy_price\":\"28.5\"},\"qmask_level\":0,\"secname_id\":\"6\",\"description\":\"Price Level 2\",\"ticket_desc\":\"Full Price Ticket\",\"price_secname_id\":6,\"secname_group_id\":\"1\",\"price\":\"28.5\",\"ticket_type\":\"A\",\"secname\":\"P2\",\"ext_ticket_type\":\"000000000001\"},{\"price_secname\":\"P2\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P2\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"£4.00\",\"total_price\":4,\"formatted_price\":\"£0.00\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":4,\"price\":0,\"formatted_sum_fees_and_taxes\":\"£4.00\",\"sum_fees\":4,\"formatted_total_price\":\"£4.00\"},\"svc_tax2\":0,\"price_level\":2,\"facility_charge\":0,\"service_charge\":4,\"face_value\":0,\"svc_tax\":0,\"legacy_price\":0},\"qmask_level\":0,\"secname_id\":\"6\",\"description\":\"Price Level 2\",\"ticket_desc\":\"Groupon Ticket Offer\",\"price_secname_id\":6,\"secname_group_id\":\"1\",\"price\":0,\"ticket_type\":\"G\",\"secname\":\"P2\",\"ext_ticket_type\":\"0000080C0003\"}],\"REST\":[{\"price_sec

这是我从

获得的网站
view-source:http://www.ticketmaster.co.uk/event/1F004E6CCE4DB841

你能让我知道我做错了什么,我猜它与正则表达式有关,理想情况下我需要secnames2tickettypes

内的所有内容

如果我渲染为json

,这是响应
"\n    \n    var more_options_on_polling        = 0;\n    var more_options_polling_delay     = 120;\n    var more_options_polling_threshold = 90;\n\n    var edp = null;\n    var media_server = 'http://media.ticketmaster.co.uk/tm/en-gb';\n    \n    new OnWindowLoad(function(){\n        \n        var venue_info = new Module( \"venue_info_1\" );\n                    var seating_chart = new SeatingChartDisplay({default_id: 11170, map_size: [ 469, 287 ], viewport_width: 502});                seating_chart.add_chart( { id: \"13682\", description: unescape(\"Concerts\"), small_image: \"http://media.ticketmaster.co.uk/tm/en-gb/tmimages/venue/maps/uk5/13682s_a.gif\", image: \"http://media.ticketmaster.co.uk/tm/en-gb/tmimages/venue/maps/uk5/13682s.gif\", alt: \"Seating Chart\" } );                seating_chart.add_chart( { id: \"11170\", description: unescape(\"Theatre%20Layout\"), small_image: \"http://media.ticketmaster.co.uk/tm/en-gb/tmimages/venue/maps/uk2/10495s_a.gif\", image: \"http://media.ticketmaster.co.uk/tm/en-gb/tmimages/venue/maps/uk2/10495s.gif\", alt: \"Seating Chart\" } );            venue_info.seating_chart = seating_chart;\n            seating_chart.setup_display();\n            seating_chart.attach( venue_info.$(\"venue_seating_chart\") );\n            seating_chart.show();        \n        var decline_checkbox = {}; \n        if ($('prepare_for_decline_checkbox')) {\n            decline_checkbox = new Module ('prepare_for_decline_checkbox');\n        }\n        \n        var merchandise = {};\n        var merch_id;\n                    merch_id = 'merchandise_1F004E6CCE4DB841_1';\n            if ($(merch_id)) {\n                merchandise[1] = new Module( merch_id );\n            }                                \n        edp = new EDP({\n            ism_bba_separation: 0,\n            is_bba: 0,\n            event: new TMEvent({\"event_id\":\"1F004E6CCE4DB841\",\"date\":\"Sat  5 Nov 2016, 19:30\",\"suppress_best_available\":\"\",\"sorted_ticket_types\":[\"000000000001\",\"0000080C0003\"],\"is_resale_eligible\":0,\"ada_tickets_enabled\":0,\"suppress_any_price\":\"\",\"expand_resale_module_ntf\":1,\"expand_resale_module\":\"\",\"bba_deep_links_offer_code\":\"Offer Code\",\"tu\":{\"ISM_SEAT_COMPANION\":\"Companion Seat\",\"ISM_SEAT_WHEELCHAIR_ACCESS\":\"Wheelchair Accessible Seat\",\"ISM_SEAT_SIGHT_HEARING\":\"Blind/Partially sighted/Deaf/Hard of hearing\",\"EVENT_QUANTITY_LIMIT_EXACT\":\"Must buy\",\"EVENT_QUANTITY_LIMIT_MULTIPLE\":\"Multiples of\",\"BBA_PRICES_ARE_IN\":\"Prices are in\",\"BA_SEAT_SEATS\":\"Seats\",\"ISM_SEAT_MOBILITY_IMPAIRED\":\"Mobility Impaired\",\"BA_SEAT_EA\":\"ea\",\"BA_SEAT_SEC\":\"Sec\",\"EVENT_QUANTITY_LIMIT_MAX\":\"Max\",\"BA_SEAT_ROW\":\"Row\",\"EVENT_QUANTITY_LIMIT_MIN\":\"Min\"},\"url\":\"http://www.ticketmaster.co.uk/event/1F004E6CCE4DB841\",\"enable_fee_rollup\":1,\"addna\":[{\"name\":\"STALLS\",\"description\":\"Stalls\"},{\"name\":\"REST\",\"description\":\"Restricted View\"}],\"bba_deep_links\":1,\"list_price_prominence\":0,\"location\":\"Cambridge, <abbr title=\"\"></abbr>\",\"view_from_section_timeout\":\"\",\"avs_conf\":{\"edp_avs\":{\"enabled\":1},\"availability_url\":\"/app/availability/1F004E6CCE4DB841\",\"busy_refresh_freq\":5,\"auto_refresh_freq\":44,\"browser_idle_time\":300},\"name\":\"Rebecca Ferguson\",\"v\":\"Svtj6V_e2kvUueJruXkOSqkyCgExZiUvKthkvsExw_FqUpUunrCxIJC6pPKxHVQLwspbYw\",\"uk_fee_disclaimer\":1,\"full_secnames\":{\"MEZZAN\":\"Mezzanine\",\"P2\":\"Price Level 2\",\"REST\":\"Restricted View\",\"P1\":\"Price Level 1\",\"FULL\":\"FULL VIEW\",\"BALCNY\":\"Balcony\",\"FLAT\":\"Flat Floor\",\"STALLS\":\"Stalls\",\"P3\":\"Price Level 3\",\"TIER\":\"Tiered Seating\"},\"resale_max_display_tickets\":500,\"isc_enabled\":0,\"is_presale_eligible\":0,\"secnames\":{\"MEZZAN\":{\"price_levels\":[\"3\"],\"group\":\"2\",\"masks\":{\"4\":1,\"1\":4,\"3\":0,\"2\":2},\"v\":\"qT1YCn-MiV7EM2jBKmcJ9WRlwLbRNVCeRkhSTnZKQoznf33CZvTAJeQx\",\"secname\":\"MEZZAN\",\"description\":\"Mezzanine\",\"sec_match\":[\"P3\"]},\"P2\":{\"price_levels\":null,\"group\":\"1\",\"masks\":{\"4\":0,\"1\":2,\"3\":1,\"2\":5},\"v\":\"mbwVcPItAvtasi3mC8SFpsACCZjzOpnnsKQHrGPZMC4k4cxx2Xk\",\"secname\":\"P2\",\"description\":\"Price Level 2\",\"sec_match\":[\"BALCNY\",\"BALCNY\",\"FLAT\",\"FLAT\",\"STALLS\",\"STALLS\"]},\"REST\":{\"price_levels\":[\"3\"],\"group\":\"4\",\"masks\":{\"4\":1,\"1\":4,\"3\":0,\"2\":3},\"v\":\"IbkyE0JxqSr9RSMzR0I157EwO_79KKConcBZukdo5GParXO21xlmng\",\"secname\":\"REST\",\"description\":\"Restricted View\",\"sec_match\":[\"P3\"]},\"P1\":{\"price_levels\":null,\"group\":\"1\",\"masks\":{\"4\":0,\"1\":1,\"3\":3,\"2\":5},\"v\":\"61qI7QMUIc-PS_4ogmVqMIR65oh0MVLJxioWy7Qwwc4PxvRmRqc\",\"secname\":\"P1\",\"description\":\"Price Level 1\",\"sec_match\":[\"BALCNY\",\"FLAT\",\"STALLS\",\"TIER\"]},\"BALCNY\":{\"price_levels\":[\"1\",\"2\",\"3\"],\"group\":\"2\",\"masks\":{\"4\":1,\"1\":7,\"3\":0,\"2\":1},\"v\":\"MGJhMQkhx3eRd-HBElK_E-XPM3K4-2S8UfjDuJD65c4gHzQpwEvJ7opj\",\"secname\":\"BALCNY\",\"description\":\"Balcony\",\"sec_match\":[\"P1\",\"P2\",\"P3\",\"P2\"]},\"FLAT\":{\"price_levels\":[\"1\",\"2\"],\"group\":\"3\",\"masks\":{\"4\":0,\"1\":3,\"3\":1,\"2\":4},\"v\":\"Hq8LYmUBHYXjOGgGzR7WD9nlEQY5k4fV_y-TJuN6aQYvOq9TSbGz9g\",\"secname\":\"FLAT\",\"description\":\"Flat Floor\",\"sec_match\":[\"P1\",\"P2\",\"P2\"]},\"STALLS\":{\"price_levels\":[\"1\",\"2\"],\"group\":\"2\",\"masks\":{\"4\":0,\"1\":3,\"3\":3,\"2\":4},\"v\":\"c5rjyy6LRDusGwWeGje-grNPO6V75g1LF39x6av_Pj8SQZRWvZ80d7pF\",\"secname\":\"STALLS\",\"description\":\"Stalls\",\"sec_match\":[\"P1\",\"P2\",\"P2\"]},\"P3\":{\"price_levels\":null,\"group\":\"1\",\"masks\":{\"4\":1,\"1\":4,\"3\":0,\"2\":3},\"v\":\"qELfmBgTe-nxzvf7gGu3PJaOCDI474ddwsoanZVAtbCbewKfgDA\",\"secname\":\"P3\",\"description\":\"Price Level 3\",\"sec_match\":[\"MEZZAN\",\"REST\",\"BALCNY\"]},\"TIER\":{\"price_levels\":[\"1\"],\"group\":\"3\",\"masks\":{\"4\":0,\"1\":1,\"3\":2,\"2\":4},\"v\":\"4bCwrIBq9d0exDEWSEZhaYBzJ6hJp4yZj1BTSzWtQvORNUV2rkEGRw\",\"secname\":\"TIER\",\"description\":\"Tiered Seating\",\"sec_match\":[\"P1\"]}},\"ga_event\":\"\",\"secnames2tickettypes\":{\"MEZZAN\":[{\"price_secname\":\"P3\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P3\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;3.50\",\"total_price\":26,\"formatted_price\":\"&Acirc;&pound;22.50\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":\"3.5\",\"price\":\"22.5\",\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;3.50\",\"sum_fees\":\"3.5\",\"formatted_total_price\":\"&Acirc;&pound;26.00\"},\"svc_tax2\":0,\"price_level\":3,\"facility_charge\":0,\"service_charge\":\"3.5\",\"face_value\":\"22.5\",\"svc_tax\":0,\"legacy_price\":\"22.5\"},\"qmask_level\":0,\"secname_id\":\"1\",\"description\":\"Mezzanine\",\"ticket_desc\":\"Full Price Ticket\",\"price_secname_id\":7,\"secname_group_id\":\"2\",\"price\":\"22.5\",\"ticket_type\":\"A\",\"secname\":\"MEZZAN\",\"ext_ticket_type\":\"000000000001\"}],\"P2\":[{\"price_secname\":\"P2\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P2\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;4.00\",\"total_price\":\"32.5\",\"formatted_price\":\"&Acirc;&pound;28.50\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":4,\"price\":\"28.5\",\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;4.00\",\"sum_fees\":4,\"formatted_total_price\":\"&Acirc;&pound;32.50\"},\"svc_tax2\":0,\"price_level\":2,\"facility_charge\":0,\"service_charge\":4,\"face_value\":\"28.5\",\"svc_tax\":0,\"legacy_price\":\"28.5\"},\"qmask_level\":0,\"secname_id\":\"6\",\"description\":\"Price Level 2\",\"ticket_desc\":\"Full Price Ticket\",\"price_secname_id\":6,\"secname_group_id\":\"1\",\"price\":\"28.5\",\"ticket_type\":\"A\",\"secname\":\"P2\",\"ext_ticket_type\":\"000000000001\"},{\"price_secname\":\"P2\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P2\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;4.00\",\"total_price\":4,\"formatted_price\":\"&Acirc;&pound;0.00\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":4,\"price\":0,\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;4.00\",\"sum_fees\":4,\"formatted_total_price\":\"&Acirc;&pound;4.00\"},\"svc_tax2\":0,\"price_level\":2,\"facility_charge\":0,\"service_charge\":4,\"face_value\":0,\"svc_tax\":0,\"legacy_price\":0},\"qmask_level\":0,\"secname_id\":\"6\",\"description\":\"Price Level 2\",\"ticket_desc\":\"Groupon Ticket Offer\",\"price_secname_id\":6,\"secname_group_id\":\"1\",\"price\":0,\"ticket_type\":\"G\",\"secname\":\"P2\",\"ext_ticket_type\":\"0000080C0003\"}],\"REST\":[{\"price_secname\":\"P3\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P3\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;3.50\",\"total_price\":26,\"formatted_price\":\"&Acirc;&pound;22.50\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":\"3.5\",\"price\":\"22.5\",\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;3.50\",\"sum_fees\":\"3.5\",\"formatted_total_price\":\"&Acirc;&pound;26.00\"},\"svc_tax2\":0,\"price_level\":3,\"facility_charge\":0,\"service_charge\":\"3.5\",\"face_value\":\"22.5\",\"svc_tax\":0,\"legacy_price\":\"22.5\"},\"qmask_level\":0,\"secname_id\":\"8\",\"description\":\"Restricted View\",\"ticket_desc\":\"Full Price Ticket\",\"price_secname_id\":7,\"secname_group_id\":\"4\",\"price\":\"22.5\",\"ticket_type\":\"A\",\"secname\":\"REST\",\"ext_ticket_type\":\"000000000001\"}],\"P1\":[{\"price_secname\":\"P1\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P1\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;5.25\",\"total_price\":\"40.25\",\"formatted_price\":\"&Acirc;&pound;35.00\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":\"5.25\",\"price\":35,\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;5.25\",\"sum_fees\":\"5.25\",\"formatted_total_price\":\"&Acirc;&pound;40.25\"},\"svc_tax2\":0,\"price_level\":1,\"facility_charge\":0,\"service_charge\":\"5.25\",\"face_value\":35,\"svc_tax\":0,\"legacy_price\":35},\"qmask_level\":0,\"secname_id\":\"5\",\"description\":\"Price Level 1\",\"ticket_desc\":\"Full Price Ticket\",\"price_secname_id\":5,\"secname_group_id\":\"1\",\"price\":35,\"ticket_type\":\"A\",\"secname\":\"P1\",\"ext_ticket_type\":\"000000000001\"}],\"BALCNY\":[{\"price_secname\":\"P1\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P1\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;5.25\",\"total_price\":\"40.25\",\"formatted_price\":\"&Acirc;&pound;35.00\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":\"5.25\",\"price\":35,\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;5.25\",\"sum_fees\":\"5.25\",\"formatted_total_price\":\"&Acirc;&pound;40.25\"},\"svc_tax2\":0,\"price_level\":1,\"facility_charge\":0,\"service_charge\":\"5.25\",\"face_value\":35,\"svc_tax\":0,\"legacy_price\":35},\"qmask_level\":0,\"secname_id\":\"2\",\"description\":\"Balcony\",\"ticket_desc\":\"Full Price Ticket\",\"price_secname_id\":5,\"secname_group_id\":\"2\",\"price\":35,\"ticket_type\":\"A\",\"secname\":\"BALCNY\",\"ext_ticket_type\":\"000000000001\"},{\"price_secname\":\"P2\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P2\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;4.00\",\"total_price\":\"32.5\",\"formatted_price\":\"&Acirc;&pound;28.50\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":4,\"price\":\"28.5\",\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;4.00\",\"sum_fees\":4,\"formatted_total_price\":\"&Acirc;&pound;32.50\"},\"svc_tax2\":0,\"price_level\":2,\"facility_charge\":0,\"service_charge\":4,\"face_value\":\"28.5\",\"svc_tax\":0,\"legacy_price\":\"28.5\"},\"qmask_level\":0,\"secname_id\":2,\"description\":\"Balcony\",\"ticket_desc\":\"Full Price Ticket\",\"price_secname_id\":6,\"secname_group_id\":2,\"price\":\"28.5\",\"ticket_type\":\"A\",\"secname\":\"BALCNY\",\"ext_ticket_type\":\"000000000001\"},{\"price_secname\":\"P3\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P3\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;3.50\",\"total_price\":26,\"formatted_price\":\"&Acirc;&pound;22.50\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":\"3.5\",\"price\":\"22.5\",\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;3.50\",\"sum_fees\":\"3.5\",\"formatted_total_price\":\"&Acirc;&pound;26.00\"},\"svc_tax2\":0,\"price_level\":3,\"facility_charge\":0,\"service_charge\":\"3.5\",\"face_value\":\"22.5\",\"svc_tax\":0,\"legacy_price\":\"22.5\"},\"qmask_level\":0,\"secname_id\":2,\"description\":\"Balcony\",\"ticket_desc\":\"Full Price Ticket\",\"price_secname_id\":7,\"secname_group_id\":2,\"price\":\"22.5\",\"ticket_type\":\"A\",\"secname\":\"BALCNY\",\"ext_ticket_type\":\"000000000001\"},{\"price_secname\":\"P2\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P2\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;4.00\",\"total_price\":4,\"formatted_price\":\"&Acirc;&pound;0.00\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":4,\"price\":0,\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;4.00\",\"sum_fees\":4,\"formatted_total_price\":\"&Acirc;&pound;4.00\"},\"svc_tax2\":0,\"price_level\":2,\"facility_charge\":0,\"service_charge\":4,\"face_value\":0,\"svc_tax\":0,\"legacy_price\":0},\"qmask_level\":0,\"secname_id\":2,\"description\":\"Balcony\",\"ticket_desc\":\"Groupon Ticket Offer\",\"price_secname_id\":6,\"secname_group_id\":\"2\",\"price\":0,\"ticket_type\":\"G\",\"secname\":\"BALCNY\",\"ext_ticket_type\":\"0000080C0003\"}],\"FLAT\":[{\"price_secname\":\"P1\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P1\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;5.25\",\"total_price\":\"40.25\",\"formatted_price\":\"&Acirc;&pound;35.00\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":\"5.25\",\"price\":35,\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;5.25\",\"sum_fees\":\"5.25\",\"formatted_total_price\":\"&Acirc;&pound;40.25\"},\"svc_tax2\":0,\"price_level\":1,\"facility_charge\":0,\"service_charge\":\"5.25\",\"face_value\":35,\"svc_tax\":0,\"legacy_price\":35},\"qmask_level\":0,\"secname_id\":\"3\",\"description\":\"Flat Floor\",\"ticket_desc\":\"Full Price Ticket\",\"price_secname_id\":5,\"secname_group_id\":\"3\",\"price\":35,\"ticket_type\":\"A\",\"secname\":\"FLAT\",\"ext_ticket_type\":\"000000000001\"},{\"price_secname\":\"P2\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P2\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;4.00\",\"total_price\":\"32.5\",\"formatted_price\":\"&Acirc;&pound;28.50\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":4,\"price\":\"28.5\",\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;4.00\",\"sum_fees\":4,\"formatted_total_price\":\"&Acirc;&pound;32.50\"},\"svc_tax2\":0,\"price_level\":2,\"facility_charge\":0,\"service_charge\":4,\"face_value\":\"28.5\",\"svc_tax\":0,\"legacy_price\":\"28.5\"},\"qmask_level\":0,\"secname_id\":3,\"description\":\"Flat Floor\",\"ticket_desc\":\"Full Price Ticket\",\"price_secname_id\":6,\"secname_group_id\":3,\"price\":\"28.5\",\"ticket_type\":\"A\",\"secname\":\"FLAT\",\"ext_ticket_type\":\"000000000001\"},{\"price_secname\":\"P2\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P2\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;4.00\",\"total_price\":4,\"formatted_price\":\"&Acirc;&pound;0.00\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":4,\"price\":0,\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;4.00\",\"sum_fees\":4,\"formatted_total_price\":\"&Acirc;&pound;4.00\"},\"svc_tax2\":0,\"price_level\":2,\"facility_charge\":0,\"service_charge\":4,\"face_value\":0,\"svc_tax\":0,\"legacy_price\":0},\"qmask_level\":0,\"secname_id\":3,\"description\":\"Flat Floor\",\"ticket_desc\":\"Groupon Ticket Offer\",\"price_secname_id\":6,\"secname_group_id\":\"3\",\"price\":0,\"ticket_type\":\"G\",\"secname\":\"FLAT\",\"ext_ticket_type\":\"0000080C0003\"}],\"STALLS\":[{\"price_secname\":\"P1\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P1\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;5.25\",\"total_price\":\"40.25\",\"formatted_price\":\"&Acirc;&pound;35.00\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":\"5.25\",\"price\":35,\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;5.25\",\"sum_fees\":\"5.25\",\"formatted_total_price\":\"&Acirc;&pound;40.25\"},\"svc_tax2\":0,\"price_level\":1,\"facility_charge\":0,\"service_charge\":\"5.25\",\"face_value\":35,\"svc_tax\":0,\"legacy_price\":35},\"qmask_level\":0,\"secname_id\":\"0\",\"description\":\"Stalls\",\"ticket_desc\":\"Full Price Ticket\",\"price_secname_id\":5,\"secname_group_id\":\"2\",\"price\":35,\"ticket_type\":\"A\",\"secname\":\"STALLS\",\"ext_ticket_type\":\"000000000001\"},{\"price_secname\":\"P2\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P2\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;4.00\",\"total_price\":\"32.5\",\"formatted_price\":\"&Acirc;&pound;28.50\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":4,\"price\":\"28.5\",\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;4.00\",\"sum_fees\":4,\"formatted_total_price\":\"&Acirc;&pound;32.50\"},\"svc_tax2\":0,\"price_level\":2,\"facility_charge\":0,\"service_charge\":4,\"face_value\":\"28.5\",\"svc_tax\":0,\"legacy_price\":\"28.5\"},\"qmask_level\":0,\"secname_id\":0,\"description\":\"Stalls\",\"ticket_desc\":\"Full Price Ticket\",\"price_secname_id\":6,\"secname_group_id\":2,\"price\":\"28.5\",\"ticket_type\":\"A\",\"secname\":\"STALLS\",\"ext_ticket_type\":\"000000000001\"},{\"price_secname\":\"P2\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P2\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;4.00\",\"total_price\":4,\"formatted_price\":\"&Acirc;&pound;0.00\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":4,\"price\":0,\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;4.00\",\"sum_fees\":4,\"formatted_total_price\":\"&Acirc;&pound;4.00\"},\"svc_tax2\":0,\"price_level\":2,\"facility_charge\":0,\"service_charge\":4,\"face_value\":0,\"svc_tax\":0,\"legacy_price\":0},\"qmask_level\":0,\"secname_id\":0,\"description\":\"Stalls\",\"ticket_desc\":\"Groupon Ticket Offer\",\"price_secname_id\":6,\"secname_group_id\":\"2\",\"price\":0,\"ticket_type\":\"G\",\"secname\":\"STALLS\",\"ext_ticket_type\":\"0000080C0003\"}],\"P3\":[{\"price_secname\":\"P3\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P3\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;3.50\",\"total_price\":26,\"formatted_price\":\"&Acirc;&pound;22.50\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":\"3.5\",\"price\":\"22.5\",\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;3.50\",\"sum_fees\":\"3.5\",\"formatted_total_price\":\"&Acirc;&pound;26.00\"},\"svc_tax2\":0,\"price_level\":3,\"facility_charge\":0,\"service_charge\":\"3.5\",\"face_value\":\"22.5\",\"svc_tax\":0,\"legacy_price\":\"22.5\"},\"qmask_level\":0,\"secname_id\":\"7\",\"description\":\"Price Level 3\",\"ticket_desc\":\"Full Price Ticket\",\"price_secname_id\":7,\"secname_group_id\":\"1\",\"price\":\"22.5\",\"ticket_type\":\"A\",\"secname\":\"P3\",\"ext_ticket_type\":\"000000000001\"}],\"TIER\":[{\"price_secname\":\"P1\",\"price_breakdown\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P1\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;5.25\",\"total_price\":\"40.25\",\"formatted_price\":\"&Acirc;&pound;35.00\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":\"5.25\",\"price\":35,\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;5.25\",\"sum_fees\":\"5.25\",\"formatted_total_price\":\"&Acirc;&pound;40.25\"},\"svc_tax2\":0,\"price_level\":1,\"facility_charge\":0,\"service_charge\":\"5.25\",\"face_value\":35,\"svc_tax\":0,\"legacy_price\":35},\"qmask_level\":0,\"secname_id\":\"4\",\"description\":\"Tiered Seating\",\"ticket_desc\":\"Full Price Ticket\",\"price_secname_id\":5,\"secname_group_id\":\"3\",\"price\":35,\"ticket_type\":\"A\",\"secname\":\"TIER\",\"ext_ticket_type\":\"000000000001\"}]},\"isc_disabled_reason\":\"no-venue-config\",\"ticket_type_map\":{\"0000080C0003\":{\"discount_number\":\"0\",\"rep_name\":\"\",\"discrete\":{\"public\":\"N\",\"codes\":[{\"description\":\"\",\"code\":\"uklngp571\"}]},\"quantity_limits\":{\"inc\":1,\"min\":0,\"max\":\"6\"},\"qmask_level\":\"0\",\"ada_qualifier_value\":0,\"password\":{\"suppress_password_info\":0,\"scheme_type\":\"password_server::ticket_type\",\"tokens\":[{\"form_name\":\"w_auth_1.I67dmEn7pV8zUtRKmzrcmjrdVE7-AJmV4joo1HvuH37dkTf1JpOv9_J_phGJMOgLJaqP3xnzmpuHnXYj8beAvNpI8XPXxDfWnb1Qzvw2s-hqsxWhy-YPtvzqoWTYz-KaDWjCcCZ_duL4eTocGW0kg2EKGafnANeGqwPe\",\"prompt\":\"Enter Password\"}]},\"price_level_preferred\":0,\"ext_ticket_type\":\"0000080C0003\",\"display_priority\":0,\"price_breakdown\":{\"2\":{\"taxes\":{\"vat\":0,\"svc_tax\":0,\"svc_tax2\":0},\"price_secname\":\"P2\",\"vat\":0,\"distance_charge\":0,\"display_charges\":{\"formatted_sum_fees\":\"&Acirc;&pound;4.00\",\"total_price\":4,\"formatted_price\":\"&Acirc;&pound;0.00\",\"has_taxes\":0,\"has_ppf\":null,\"has_fees\":1,\"sum_taxes\":0,\"sum_fees_and_taxes\":4,\"price\":0,\"formatted_sum_fees_and_taxes\":\"&Acirc;&pound;4.00\",\"sum_fees\":4,\"formatted_total_price\":\"&Acirc;&pound;4.00\"},\"svc_tax2\":0,\"price_level\":2,\"facility_charge\":0,\"service_charge\":4,\"face_value\":0,\"svc_tax\":0,\"legacy_price\":0}},\"repname_quantity_limits\":{},\"variable_qualifier_value\":0,\"v\":\"0Cfizh-cVNf6xm3JjoQpeRioCp45UP6wrBDaX5Clknk8Y1YmVWiy64YKKqfXmZACJS9tDSe1paziu34_l-WwIGM\",\"display_priority\":0}},\"enable_fru_equations\":0,\"price_limit\":0,\"ada_types\":{},\"currency_symbol\":\"&Acirc;&pound;\",\"price_level_aliases\":{},\"platinum_postings\":0,\"tmPlus_enabledMessaging\":0,\"display_type\":\"standard\",\"timed_entry\":0,\"inline_fee_rollup\":0,           decline_checkbox: decline_checkbox                ,mycart: true\n                ,cart_request_server: \"https://www.ticketmaster.co.uk\"        });\n            window.monetateQ.push([\"setPageType\", \"tmuk_edp\"]);\n            window.monetateQ.push([\"addProductDetails\", [edp.event.event_id]]);\n            window.monetateQ.push([\"trackData\"]);                    });\n    "

1 个答案:

答案 0 :(得分:0)

而不是抓取为什么不使用API​​(假设你的非示例网站有一个)? http://developer.ticketmaster.com/api-explorer/

如果做不到这一点,我是第二个欧文评论来解析JSON而不是使用正则表达式 - 这是一种更强大的方法。