gpt4 book ai didi

python - Scraper 不断抓取相同的链接

转载 作者:行者123 更新时间:2023-12-01 09:18:40 26 4
gpt4 key购买 nike

我用 python 结合 BeautifulSoup 编写了一个脚本,使用其分页按钮转到网站的下一页 (有一个链接连接到这个按钮)直到没有新的页面可供抓取。我的脚本可以使用分页链接抓取下一页。然而,问题是分页链接永远不会结束,因为按钮(连接到下一页链接)不会变灰,所以我陷入了无限循环。我怎样才能以这样的方式摆脱它,以便脚本检查我是否连续抓取两个相同的链接,并且一旦找到一个它就会中断。

这是我到目前为止的脚本:

import requests
from bs4 import BeautifulSoup

def get_content(link):
while True:
res = requests.get(link)
soup = BeautifulSoup(res.text, 'lxml')

#some code here to do the rest of the activity

nextpage = soup.select_one(".roundright a")
if not nextpage:break #The loop doesn't break because the next page button never grayes out
link = nextpage.get("href")
print(link)

if __name__ == '__main__':
url = "http://www.viprealestateug.com/action/rentals/"
get_content(url)

它产生的结果:

http://www.viprealestateug.com/action/rentals/page/2/
http://www.viprealestateug.com/action/rentals/page/3/
http://www.viprealestateug.com/action/rentals/page/4/
http://www.viprealestateug.com/action/rentals/page/4/
http://www.viprealestateug.com/action/rentals/page/4/
and so on

如果我希望采用任何硬编码方法,我本可以避免此类问题,但这不是我的意图。

最佳答案

只存储最后一个链接

    last_link = link
link = nextpage.get("href")
if link == last_link: break
print(link)

关于python - Scraper 不断抓取相同的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50996122/

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