【发布时间】:2018-01-09 07:56:25
【问题描述】:
我正在尝试从网站上抓取用户列表,但它有多个页面,我可以抓取第一个页面,但在抓取每个页面时卡住了。
代码-
from bs4 import BeautifulSoup
import requests
source = requests.get('example.com/users.php?page=1').text
soup = BeautifulSoup(source, 'lxml')
for profile in soup.select("li h3 a"):
print(profile.text)
网址中的通知
page=1
下一页,是
page=2
等等,所以我的问题是我如何让python先抓取,然后是第二个等等。如果我可以给它分配一个页面限制会更有效,比如
1-1000
所以它不会尝试超出页面并打到空白。
【问题讨论】:
-
你现在能刮
example.com/users.php?page=2吗?如果答案是肯定的,您可以运行 for 循环来抓取具有范围的页面。 -
是的,我可以:),但是翻页似乎很奇怪,每次都使用 + 20,所以第 1 页 = 0,第 2 页 = 20,第 3 页 = 40,第 4 页 = 60 等等