【发布时间】:2020-07-29 07:08:07
【问题描述】:
我试图通过从 Yocket 中抓取数据来查找有关特定大学录取学生的 GPA、GRE 和工作经验的一些统计数据。虽然我的代码在第一页(https://yocket.in/applications-admits-rejects/588-new-york-university/2)上正常工作,但是当您单击下面的导航栏(https://yocket.in/applications-admits-rejects/588-new-york-university/2?page=2)时我试图抓取后面的页面时,代码不起作用。经过分析,我发现为后面的页面接收到的 HTML 内容变得不正确,即接收到的 html 内容对应于其他页面。此外,接收到的内容对于 page=3、page=4 等不正确。抓取的内容仅对 page=1 是正确的。此 URL 适用于 NYU,但是在 page=2 上收到的不正确内容的这种行为对于所有其他大学的 URL 都是相同的 但是,我只想要承认的状态。因此,需要找到一种方法来浏览第 2 页中的不同页面。Url 将是 /2?page= 部分。
这是我的代码:
import requests
from bs4 import BeautifulSoup
page_num=2
url="https://yocket.in/applications-admits-rejects/588-new-york-university/2?page=" + str(page_num)
page = requests.get(url)
soup=BeautifulSoup(page.content)
print(soup.prettify())
【问题讨论】:
标签: python-3.x beautifulsoup web-crawler