相关疑难解决方法(0)

python requests.get超时的完成响应

我正在收集网站列表的统计数据,为了简单起见,我正在使用它的请求.这是我的代码:

data=[]
websites=['http://google.com', 'http://bbc.co.uk']
for w in websites:
    r= requests.get(w, verify=False)
    data.append( (r.url, len(r.content), r.elapsed.total_seconds(), str([(l.status_code, l.url) for l in r.history]), str(r.headers.items()), str(r.cookies.items())) )
Run Code Online (Sandbox Code Playgroud)

现在,我希望requests.get在10秒后超时,这样循环就不会卡住.

这个问题之前也引起了人们的兴趣,但没有一个答案是清晰的.我将在此给予一些赏金以获得一个很好的答案.

我听说也许不使用请求是一个好主意,但那么我应该如何获得请求提供的好东西.(元组中的那些)

python timeout python-requests

134
推荐指数
11
解决办法
18万
查看次数

HttpURLConnection超时设置

如果URL连接超过5秒,我想返回false - 使用Java可以实现这一点吗?这是我用来检查URL是否有效的代码

HttpURLConnection.setFollowRedirects(false);
HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
con.setRequestMethod("HEAD");
return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
Run Code Online (Sandbox Code Playgroud)

java url timeout

119
推荐指数
2
解决办法
18万
查看次数

Python Mechanize不会打开这些网站

我正在使用Python的Mechanize模块.我遇到过3个不能直接通过机械化打开的网站:

  1. en.wikipedia.org/wiki/Dog(新用户,不能发布2个以上的链接TT)
  2. https://www.google.com/search?num=100&hl=en&site=&q=dog&oq=dog&aq=f&aqi=g10&aql=1&gs_sm=e&gs_upl=618l914l0l1027l3l2l0l0l0l0l173l173l0.1l1l0
  3. http://www.cpsc.gov/cpscpub/prerel/prhtml03/03059.html

    import mechanize
    br = mechanize.Browser()
    br.set_handle_robots(False)
    
    Run Code Online (Sandbox Code Playgroud)

添加以下代码允许机械化打开和解析维基百科文章和谷歌搜索结果:

    br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')] 
Run Code Online (Sandbox Code Playgroud)

但是,我的解决方法与CPSC.gov网站不匹配 - 当我尝试使用机械化浏览器打开它时,我的python冻结 - 到了我甚至无法键盘中断的程度.

这里发生了什么?

python mechanize

7
推荐指数
1
解决办法
1506
查看次数

标签 统计

python ×2

timeout ×2

java ×1

mechanize ×1

python-requests ×1

url ×1