gpt4 book ai didi

python - 刮过无限滚动条

转载 作者:太空宇宙 更新时间:2023-11-03 20:40:36 27 4
gpt4 key购买 nike

我已经通过 Chrome 的检查工具识别了其他页面。类型为XHR,页面通过2个数字区分。“https://us.pandora.net/en/charms/?sz=30&start= 30&format=page-element”是第一页,“https://us.pandora.net/en/charms/?sz=30&start= 60&format=page-element”是第二页,“https://us.pandora.net/en/charms/?sz=30&start= 90&format=page-element”是第三页等。

一直持续到第 990 页。

这是我到目前为止的代码:

from urllib.request import urlopen
from bs4 import BeautifulSoup
url = "https://us.pandora.net/en/charms/?sz=30&start=60&format=page-element"
html = urlopen(url)

page_count = 0
while page_count < 0:
url = "https://us.pandora.net/en/charms/?sz=30&start=%d&format=page-element" %(page_count)
page_count += 30

html = urlopen(url)

我的目标是获得所有正在促销的产品。使用inspect阅读源代码,我发现正在销售的商品有两个类别:“price-sale”和“price-standard”。

这里我试图获取所有产品,使用上面的代码破解无限滚动条,并获取列表中所有有销售的产品。

def retrieve_products_sale():
all_products = soup.find_all('li', class_='grid-tile')
num_of_prods = []
for items in all_products:
if items == class_'price-standard':
num_of_prods.append(items)
print(num_of_prods)
if __name__ == '__main__':
retrieve_products_sale()

不确定如何从这里继续。

我补充一下:我的最终目标是抓取列表中正在销售的所有产品。包括有多少产品,以及每件产品的百分比。

最佳答案

您可以在函数内创建 while 循环,并使用 .select() 而不是 find_all() 以避免定义 exrta 循环来过滤掉所需的项目。

import requests
from bs4 import BeautifulSoup

url = "https://us.pandora.net/en/charms/?sz=30&start={}&format=page-element"

def fetch_items(link,page):
while page<=100:
print("current page no: ",page)
res = requests.get(link.format(page),headers={"User-Agent":"Mozilla/5.0"})
soup = BeautifulSoup(res.text,"lxml")
for items in soup.select('.grid-tile .price-standard'):
product_list.append(items)

print(product_list)
page+=30

if __name__ == '__main__':
page = 0
product_list = []
fetch_items(url,page)

关于python - 刮过无限滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56888127/

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