gpt4 book ai didi

python - 抓取 Flipkart.com 的所有手机

转载 作者:太空宇宙 更新时间:2023-11-03 13:21:08 25 4
gpt4 key购买 nike

我正在尝试从 www.flipkart.com 抓取所有手机。现在,我想做的是我可以从这里抓取所有手机。

http://www.flipkart.com/mobiles/pr?p[]=sort%3Dprice_asc&sid=tyy%2C4io&layout=grid 

现在,问题是,在这个网站上,我必须按“显示更多结果”才能看到更多结果。但是,我如何使用代码来做到这一点?我在 python 中使用 BeautifulSoup 包。

到目前为止我的代码:

import bs4
import re
import urllib2
import sys

link = 'http://www.flipkart.com/mobiles/pr?p[]=sort%3Dprice_asc&sid=tyy%2C4io&layout=grid'
response = urllib2.urlopen(link)
thePage = response.read()
soup = bs4.BeautifulSoup(thePage)
allMobiles = soup.find('div', attrs={'id': 'products'})

我只得到输出中的第一页?如何访问其他页面?

最佳答案

您可以尝试使用 get 参数。常规 URL 是:

http://www.flipkart.com/mobiles/pr?p[]=sort%3Dprice_asc&sid=tyy%2C4io&layout=grid

点击“更多结果”按钮(或向下滚动)后,将使用 AJAX 加载下一页,网址如下:

http://www.flipkart.com/mobiles/pr?p%5B%5D=sort%3Dprice_asc&sid=tyy%2C4io&layout=grid&start=41&ajax=true

url由以下部分组成:

如果您想要所有手机,只需增加“开始”参数即可。像这样:

item_count = 600
for i in range(0, item_count, 40):
link = "http://www.flipkart.com/mobiles/pr?p%5B%5D=sort%3Dprice_asc&sid=tyy%2C4io&layout=grid&ajax=true&start=%d" % (i+1)

// Do something with the link
print link

享受,好吧

关于python - 抓取 Flipkart.com 的所有手机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13775742/

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