我想抓取以下页面:https ://db.aa419.org/fakebankslist.php搜索词“网站”。
我在 python 中使用 requests 包。没有计划尝试 selenium b/c 此页面中没有 javascript,我也不需要单击任何按钮。我认为 requests 包应该有爬取的能力。
对于网站本身,我猜它使用 php 发送查询词。因此,我使用 requests.post() 创建了一个 php 会话并使用 response.cookies 检索 cookie,然后在以下发布请求中将 cookie 提供给站点。代码结构如下:
#crawl 1st page with search word in url
url='https://db.aa419.org/fakebankslist.php?psearch=sites&Submit=GO&psearchtype='
response = requests.post(url)
cookies= response.cookies
print(cookies)
#crawl page 2-4
for i in range(2, 5):
url = 'https://db.aa419.org/fakebankslist.php?start={}'.format(str(1+20*(i-1)))
response = requests.post(url, cookies=cookies)
cookies= response.cookies #update cookie for each page
print(cookies)
但是,它仅适用于前 2 页。循环开始爬取第 3 页后,cookie 变为空:<RequestsCookieJar[]>。我检查了第 3 页的响应,发现它是一些与我的查询词“站点”无关的随机页面。
谁能解释一下这种情况是怎么回事?如何继续抓取以下页面?提前致谢!