无法使用requests和urllib2打开网址

时间:2017-12-08 18:52:00

标签: python web-scraping python-requests

我尝试使用python https://www.collinsdictionary.com/browse/english/words-starting-with-a访问requests,但获取requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''",))

我尝试使用urllib2.urlopen,但是我从浏览器中看到的内容中得到了不同的html(没有<ul class="columns2 browse-list">)。

我做错了什么?

2 个答案:

答案 0 :(得分:3)

由于默认的用户代理python使用,网站拒绝请求的获取请求,您应该设置自定义的用户代理,就像您来自浏览器一样

import requests

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36'}

r = requests.get("https://www.collinsdictionary.com/browse/english/words-starting-with-a",headers=headers)

答案 1 :(得分:1)

使用以下代码,我会得到您想要的页面:

import urllib2
page =urllib2.urlopen("https://www.collinsdictionary.com/browse/english/words-starting-with-a")
print page.read()

它确实包含<ul class="columns2 browse-list">