gpt4 book ai didi

python - 无法解析网页中所有可用的 asin

转载 作者:行者123 更新时间:2023-12-01 06:52:04 24 4
gpt4 key购买 nike

我用 python 创建了一个脚本来获取某个节点中可用的所有 asins。里面大约有1000个asin。我在下面尝试的方法可以从 1000 个 asins 中获取 146 个 asins。尽管当我点击位于该页面底部的 SHOW MORE 按钮时,页数会相应变化,但我得到了准确的结果与我更改脚本中的页码时的情况相同。

webpage address

到目前为止我已经尝试过:

import re
import json
import requests
from bs4 import BeautifulSoup

node = '15529609011'

r = requests.get(f'https://www.amazon.com/stores/node/{node}?productGridPageIndex=1')
soup = BeautifulSoup(r.content,'lxml')
slot_num = soup.select_one('.stores-widget-btf')['id']
res = requests.get(f'https://www.amazon.com/stores/slot/{slot_num}?node={node}')
p = re.compile(r'var config = (.*);')
data = json.loads(p.findall(res.text)[0])
asins = data['content']['ASINList']
print(len(asins))

How can I grab all the asins available in there using requests?

最佳答案

“显示更多”按钮中的数据是通过 ajax 请求加载的。

您可以:

  1. 更简单,但消耗更多资源:将 headless 浏览器(例如:chromedriver headless)与 selenium 结合使用
  2. 更难,但更轻松:打开浏览器的开发工具。查找并分析 ajax 请求,构建一个并通过 python 发送。

关于python - 无法解析网页中所有可用的 asin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58941202/

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