Извлечение информации о скрипте для кода веб-парсинга - PullRequest
0 голосов
/ 27 мая 2020

Мне удалось выделить этот тег, показанный ниже, и я пытаюсь извлечь название продукта, цену продажи и информацию о запасах в качестве переменных. Его тип - class 'bs4.element.Tag'

<script type="text/javascript">

var utag_data = {page_breadcrumb:'Home &gt; Components &gt; Computer Cases &gt; Computer Cases &gt; Fractal Design &gt; Item#:N82E16811352069',
            page_tab_name:'Components',
            product_category_id:['9'],
            product_category_name:['Computer Cases'],
            product_subcategory_id:['7'],
            product_subcategory_name:['Computer Cases'],
            product_id:['11-352-069'],
            product_web_id:['N82E16811352069'],
            product_title:['Fractal Design Focus G Black ATX Mid Tower Computer Case'],
            product_manufacture:['Fractal Design'],
            product_sale_price:['99.99'],
            product_default_shipping_cost:['12.99'],
            product_model:['FD-CA-FOCUS-BK-W'],
            product_instock:['1'],
            product_group_id:['6055851'],
            page_type:'Product',
            site_region:'CAN',
            site_currency:'CAD',
            page_name:'NewProductDetail',
            search_scope:jQuery('#haQuickSearchStore option:selected').text(),
            user_nvtc:Web.StateManager.Cookies.get(Web.StateManager.Cookies.Name.NVTC),
            user_name:Web.StateManager.Cookies.get(Web.StateManager.Cookies.Name.LOGIN,'LOGINID6'),
            third_party_render:[]

      };
          var description = Biz.Common.QuickSearch.getUrlSearch('Description');
      var d = Biz.Common.QuickSearch.getUrlSearch('d');
      if(description)
      {
         utag_data.search_keyword = description;
      }
      else if(d)
      {
         utag_data.search_keyword = d;
      }
      </script>

У меня проблемы с доступом к utag_data. Мне не удалось проиндексировать информацию о продукте, используя числа или вызывая заголовок. Кажется, что содержимое всего сценария хранится в одной записи.

1 Ответ

0 голосов
/ 30 июня 2020

удалось изолировать этот тег

Я бы рекомендовал применить регулярное выражение к содержимому изолированного тега.

/utag_data = {([^}]+)};/

Первая группа будет содержать целевые данные :

page_breadcrumb:'Home &gt; Components &gt; Computer Cases &gt; Computer Cases &gt; Fractal Design &gt; Item#:N82E16811352069',\n            page_tab_name:'Components',\n            product_category_id:['9'],\n            product_category_name:['Computer Cases'],\n            product_subcategory_id:['7'],\n            product_subcategory_name:['Computer Cases'],\n            product_id:['11-352-069'],\n            product_web_id:['N82E16811352069'],\n            product_title:['Fractal Design Focus G Black ATX Mid Tower Computer Case'],\n            product_manufacture:['Fractal Design'],\n            product_sale_price:['99.99'],\n            product_default_shipping_cost:['12.99'],\n            product_model:['FD-CA-FOCUS-BK-W'],\n            product_instock:['1'],\n            product_group_id:['6055851'],\n            page_type:'Product',\n            site_region:'CAN',\n            site_currency:'CAD',\n            page_name:'NewProductDetail',\n            search_scope:jQuery('#haQuickSearchStore option:selected').text(),\n            user_nvtc:Web.StateManager.Cookies.get(Web.StateManager.Cookies.Name.NVTC),\n            user_name:Web.StateManager.Cookies.get(Web.StateManager.Cookies.Name.LOGIN,'LOGINID6'),\n            third_party_render:[]\n\n 

Затем разделите его точкой с запятой ; и извлеките из пар "ключ-значение", разделив на :.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...