【问题标题】:Getting request when scraping?抓取时收到请求?
【发布时间】:2017-04-25 23:43:39
【问题描述】:

我是 CMU 的一名新生,在他的第一个学期项目中完全迷失了方向,非常感谢您的帮助 :)

我正在编写一个抓取工具,但有时请求只是没有响应。它不返回任何东西;它甚至不返回错误。这个问题使我的爬虫卡在一个 URL 上,而不是识别它被卡住并继续前进。代码如下:

def extractHTML(url):
    startTime = time.time()
    headers = requests.utils.default_headers()
    headers.update(
        {'User-Agent':
         'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0',})
    paper1Link = requests.get(url,headers=headers)
    papaer1Content=BeautifulSoup(paper1Link.content,"lxml")
    return str(papaer1Content)
  1. 如何让 python 识别我卡住并中断几秒钟?
  2. 此站点:http://www.apa.org/ 甚至不会授予我访问权限,即使我更改标头以使请求看起来像一个普通的单独请求。我怎样才能从这里获得请求?

【问题讨论】:

  • 好吧,对于 1,您可以指定获取请求的超时时间,作为参数之一,然后捕获异常。 (例如 request.get(url, timeout=2))

标签: python python-3.x web-scraping


【解决方案1】:

requests documentation 有一个section called "Timeouts". 也许你应该从那里开始。

paper1Link = requests.get(url,headers=headers, timeout=0.4)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多