.aspx 站点 Web 抓取使用 python

.aspx site Web scraping using python

我正在尝试从这里抓取位置:https://ukcareers.northropgrumman.com/vacancies/vacancy-search-results.aspx

我从这里找到了类似的话题(符合我的情况): using python by Andrej Kesely, wolf7687。对于我的情况,我也遵循了同样的做法。实际上,我正在尝试的网站包含 5 页。在抓取过程中,我应该从所有五个页面中获取位置,但我得到了第一页结果 5 次。我试过调整 headers 和其他一些东西,但没有取得任何成功。我相当确定问题出在 viewstate 和 viewgenerator header 参数上。我已经阅读了与 .aspx 相关的其他帖子,但没有看到任何适用于我的情况的帖子。非常感谢对此的任何帮助!!

不幸的是,我目前仅限于使用请求或其他流行的 python 库。

提前致谢..

在您的 for 循环中,您正在创建一个新的 Session 对象 - 您应该只有一个(您在代码的开头有一个)

您还在使用 .get() 请求,而它应该是 .post()

替换:

# Getting data from each page
s = requests.Session()
headers = {'User-Agent': 'Mozilla/5.0'} #My user agent here
response = s.get(url, verify=False, headers=headers, data=data)

与:

response = s.post(url, verify=False, headers=headers, data=data)