无法筛选刮削网站

Cannot screen scrape site

本文关键字:网站 筛选      更新时间:2023-09-26

我正在尝试筛选下一页的内容(列出所有医学专业)和本页中包含的链接的内容(提供特定专业培训的所有大学)。这是所有特色菜的主页:https://services.aamc.org/eras/erasstats/par/index.cfm

页面上的第一个链接是青少年医学(儿科)专业,URL是https://services.aamc.org/eras/erasstats/par/display8.cfm?NAV_ROW=PAR&SPEC_CD=321

当我尝试直接导航到上面的URL时,服务器会将我重定向回主页。然而,点击青少年医学的链接会将我带到我想要访问的页面。

我很困惑为什么点击链接会把我带到正确的页面,但导航到同一个URL却不会。以下是我的想法:

  1. Javascript问题-我禁用了JS,但我仍然被重定向到主页。此外,单击表中的链接仍然可以将我带到正确的页面。

  2. Cookie-我禁用了所有Cookie,但在尝试使用直接URL访问青少年医学页面时仍然遇到了同样的问题。有趣的是,在禁用所有cookie的情况下,使用表链接进行导航仍然有效。

  3. HTTPS-不确定如何检查这是否导致了问题。

我花了很多时间在Chrome上查看开发人员的控制台,却找不到为什么我不能使用直接URL访问专业页面的原因。任何帮助或指导都将不胜感激!

关键是确保设置了适当的标头。此服务器显然需要一个有效的用户代理和正确的引用程序集。一旦我设置了下面显示的标题,它就起作用了!

headers = {
   'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
   'Accept-Encoding':'gzip, deflate, sdch',
   'Accept-Language':'en-US,en;q=0.8',
   'Connection':'keep-alive',
   'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36',
   'referer' : 'https://services.aamc.org/eras/erasstats/par/index.cfm'
}