我第一次在python中尝试网络抓取。我正在使用beautifulsoup4软件包来这样做。我见过其他一些人说,如果要从具有多个页面的站点中获取所有数据,则需要使用for循环,但是在这种特殊情况下,当您从页面转到另一个页面时,URL不会更改。页。我该怎么办?任何帮助将不胜感激 这是我的python代码:
import requests
from bs4 import BeautifulSoup
response = requests.get("https://wpcarey.asu.edu/people/departments/finance")
soup = BeautifulSoup(response.text, "html.parser")
professors = soup.select(".view-content .views-row")
professor_names = {}
for professor in professors:
if "Professor" in professor.select_one(".views-field.views-field-nothing-1 .field-content .title").getText() or "Lecturer" in professor.select_one(".views-field.views-field-nothing-1 .field-content .title").getText():
if professor.select_one(".views-field.views-field-nothing-1 .field-content .name > a").getText() not in professor_names:
professor_names[professor.select_one(".views-field.views-field-nothing-1 .field-content .name > a").getText()] = professor.select_one(".views-field.views-field-nothing .field-content .email > a").getText()
print(professor_names)
相信我,我知道这很可怕,但这只是草稿。这里的主要重点是找到一种遍历每个页面以检索数据的方法。 如果有帮助,这是网站的首页。 https://wpcarey.asu.edu/people/departments/finance 再次感谢。
答案 0 :(得分:0)
如果将鼠标悬停在Button上,则转到下一页,您会看到第二页在此链接https://wpcarey.asu.edu/people/departments/finance?page=0%2C1下也可用。 第三页是:https://wpcarey.asu.edu/people/departments/finance?page=0%2C2
如果您使用的是Firefox,则可以右键单击该按钮以转到下一页并调查网页代码。