【问题标题】:Cannot screen scrape site无法筛选抓取网站
【发布时间】:2021-10-27 09:56:28
【问题描述】:

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

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

当我尝试直接导航到上述 URL 时,服务器会将我重定向回主页。但是,单击 Adolescent Medicine 的链接会将我带到我想要访问的页面。

我很困惑为什么单击链接会将我带到正确的页面,但导航到相同的 URL 却没有。以下是我的想法:

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

  2. Cookies- 我禁用了所有 cookie,但在尝试使用直接 URL 访问 Adolescent Medicine 页面时仍然遇到同样的问题。有趣的是,在禁用所有 cookie 的情况下,使用表格链接导航仍然有效。

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

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

【问题讨论】:

    标签: javascript http redirect cookies screen-scraping


    【解决方案1】:

    关键是确保设置了适当的标题。该服务器显然需要有效的用户代理和正确的引荐来源网址集。一旦我设置了如下所示的标题,它就起作用了!

    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'
    }
    

    【讨论】:

    • 请接受答案,使其在搜索中更显眼。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-29
    • 2017-04-05
    • 1970-01-01
    • 2014-06-04
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多