如何抓取 /html/head/script 字段?

蜗牛_nnaail

我是编程和抓取的新手。有什么办法可以刮掉它们,而不仅仅是加载页面并将其拆开?

例子:

> <script> window.initialState =
> {"ACCOUNT":{"type":"PRODUCTUNIQUE","universe":"Woman","sku":"M1286ZTDT_M884_TU","code":"M1286ZTDT_M884","price":{"value":2950,"currency":"USD"},"status":"NOTFORSALE","eReservation":false,"hasSizeGuide":false,"tracking":[{"events":["addToCart"],"addToCartType":"regular","pageType":"CDC_ProductPage","ecommerce":{"currencyCode":"USD","add":{"products":{"id":"M1286ZTDT_M884_TU","name":"dior
> book tote toile de jouy bag","price":2950,"brand":"Dior Book
> Tote","category":"women/handbags/shopping bags/dior book
> tote","variant":"Multi-coloured","quantity":1,"dimension16":"M1286ZTDT_M884","dimension32":"not
> engraved"}}}}]},{"type":"PRODUCTSECTIONDESCRIPTION","sections":[{"title":"THE
> DESCRIPTION","content":"Dior Book Tote bag in canvas embroidered with
> a multi-coloured Toile de Jouy motif.<br /><br />Reference :
> M1286ZTDT_M884","type":"TEXT"},{"title":"THE
> CHARACTERISTICS","content":"Carried in the hand or on the shoulder <br
> />\nDimensions: 41.5 x 32 x 5
> cm","type":"TEXT"}]},{"type":"PRODUCTDECLINATIONS","declinations":[{"title":"Dior
> Book Tote Toile de Jouy
> bag","color":"Blue","colorCode":"33","uri":"/couture/en_us/horizon/products/couture-M1286ZTDT_M928_TU-dior-book-tote-toile-de-jouy-bag","image":{"target":"DESKTOP","uri":"https://wwws.dior.com/couture/ecommerce/media/catalog/product/cache/1/grid_image_1/460x497/17f82f742ffe127f42dca9de82fb58b1/M/1/1540309423_M1286ZTDT_M928_E01_GH.jpg","width":460,"height":497,"alt":"Click
> here to enlarge the product picture Dior Book Tote Toile de Jouy
> bag"}},{"title":"Dior Book Tote Toile de Jouy
> bag","color":"Burgundy","colorCode":"44","uri":"/couture/en_us/horizon/products/couture-M1286ZTDT_M974_TU-dior-book-tote-toile-de-jouy-bag","image":
> <a...... </script>

================================================== ======================

亚历克斯

您可以script像定位任何其他元素一样定位这些元素 - 例如,使用 xpaths 和 css 选择器:

script_text = response.xpath("//script[contains(., 'window.initialState')]").extract_first()

然后,为了从脚本文本中提取有用的数据,您可以采取不同的方法 - 通常的做法是使用正则表达式从脚本文本中提取所需的对象(数组或对象/字典),然后通过json.loads()将其加载到 Python 数据结构。

另一种方法是使用 JS 解析器,例如slimit,它会为您提供类似astJavaScript 代码的界面。这是使用slimit.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从具有多个“选择”字段的网站中抓取?

来自分类Dev

如何从此源代码中抓取实际启动时间字段

来自分类Dev

如何在网页上抓取自动填充文本字段

来自分类Dev

如何使用Python抓取下面的HTML代码中所示的特定字段?

来自分类Dev

如何在脚本中获取“ hiRes”字段?Python抓取Bs4

来自分类Dev

如何使用python从具有多个动态选择字段的页面中抓取数据?

来自分类Dev

使用lxml抓取动态html字段

来自分类Dev

如何找到字段的声明字段?

来自分类Dev

Python BeautifulSoup抓取;如何合并两个不同的字段,或根据站点中的位置将它们配对?

来自分类Dev

如何验证动态字段(动态创建的字段)

来自分类Dev

如何比较不同字段的日期字段?

来自分类Dev

如何检索输入字段

来自分类Dev

如何访问查询的字段

来自分类Dev

如何复制身份字段?

来自分类Dev

如何查询串联字段?

来自分类Dev

如何选择隐藏字段?

来自分类Dev

如何更新结构字段?

来自分类Dev

如何更改字段的范围?

来自分类Dev

如何从$ _SESSION删除字段

来自分类Dev

如何更新班级字段?

来自分类Dev

如何动态生成字段

来自分类Dev

如何重置输入字段

来自分类Dev

如何更改字段的顺序?

来自分类Dev

如何获取嵌套字段

来自分类Dev

LINQ如何获得字段

来自分类Dev

如何从$ _SESSION删除字段

来自分类Dev

如何更新被索引的字段?

来自分类Dev

如何使字段对齐?

来自分类Dev

如何附加到字段