我尝试使用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">
)。
我做错了什么?
答案 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">