gpt4 book ai didi

javascript - 在Python和Beautiful Soup Web Scraping中提取Javascript变量对象数据

转载 作者:行者123 更新时间:2023-12-03 04:32:08 26 4
gpt4 key购买 nike

我目前可以从我使用 requests 然后 Soup 发送的 post 请求中抓取 Javascript 数据。但我只想抓取产品 plu、sku、描述和品牌。我正在努力寻找一种方法,可以只打印我需要的数据,而不是整个脚本。这是我使用 soup 提取脚本后打印的文本。我将从多个发布请求中抓取多个产品,因此 block 的想法并不真正合适。

<script type="text/javascript">
var dataObject = {

platform: 'desktop',
pageType: 'basket',
orderID: '',
pageName: 'Basket',
orderTotal: '92.99',
orderCurrency: 'GBP',
currency: 'GBP',
custEmail: '',
custId: '',
items: [

{


plu: '282013',
sku: '653460',
category: 'Footwear',
description: 'Mayfly Lite Pinnacle Women&#039;s',
colour: '',
brand: 'Nike',
unitPrice: '90',
quantity: '1',
totalPrice: '90',
sale: 'false'
} ]

};

正如您所看到的,信息太多了。

最佳答案

这个怎么样:

  1. 将捕获的文本分配给一个名为“chunk”的新多行字符串变量
  2. 列出您要查找的 key
  3. 循环每一行以检查该行是否有您想要的术语,然后打印出该术语:

    chunk = '''
    <script type="text/javascript">
    var dataObject = {
    .........blah blah.......
    plu: '282013',
    sku: '653460',
    category: 'Footwear',
    description: 'Mayfly Lite Pinnacle Women&#039;s',
    colour: '',
    brand: 'Nike',
    ..... blah .......
    };'''

    keys = ['plu', 'sku', 'description', 'brand']

    for line in chunk.splitlines():
    if line.split(':')[0].strip() in keys:
    print line.strip()

结果:

plu: '282013',
sku: '653460',
description: 'Mayfly Lite Pinnacle Women&#039;s',
brand: 'Nike',

您显然可以使用 splitstripreplace 等类似应用程序来清理结果。

关于javascript - 在Python和Beautiful Soup Web Scraping中提取Javascript变量对象数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43444845/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com