快哉枫 发表于 2020-4-27 10:46:05

新手求助,爬虫的问题(HTTP Error 445)

初学爬虫,想试着爬一下有关这次疫情的网站,然而在爬种子网站的时候就失败了,报了一个看不懂的错,百度了好久也没搜出445是什么错,求大佬解答,跪谢!
详情如下:
代码:
import urllib.request as ur

head={}
head['User-Agent']='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'
response=ur.urlopen('http://www.chinacdc.cn/')
html= response.read()
html=html.decode("utf-8")
报错如图

wp231957 发表于 2020-4-27 10:50:42

你的head 定义完了也没使用啊
另:现在几乎没人用urllib

Twilight6 发表于 2020-4-27 10:57:02

本帖最后由 Twilight6 于 2020-4-27 11:01 编辑

你如果没加UA到请求里去,设置个head完全是虚设呀,你导入urllib的Request 吧这个可以把UA加进去

帮你稍微修改了下~可以爬了
import urllib.request as ur

head={}
head['User-Agent']='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'
request = ur.Request('http://www.chinacdc.cn/',headers=head)
response=ur.urlopen(request)

html = response.read().decode()
print(html)




还有推荐去安一个fake_useragent库 ,这个模块含有大量的UA,各种浏览器都有,也就不用你天天去复制UA了

from fake_useragent import UserAgent

headers = {
'User-Agent':UserAgent().random
}

这样headers里面的UA就会随机使用,或者你可以把random改成ie,chrome,等浏览器名字,随机浏览器UA

快哉枫 发表于 2020-4-27 11:20:18

wp231957 发表于 2020-4-27 10:50
你的head 定义完了也没使用啊
另:现在几乎没人用urllib

谢谢大佬的解答!我先从urllib入门,之后再去看看别的

快哉枫 发表于 2020-4-27 11:21:10

Twilight6 发表于 2020-4-27 10:57
你如果没加UA到请求里去,设置个head完全是虚设呀,你导入urllib的Request 吧这个可以把UA加进去

帮你 ...

谢谢!都怪我太马虎了。。视频看一半就开始做。。。谢谢大佬!!

Twilight6 发表于 2020-4-27 11:25:19

快哉枫 发表于 2020-4-27 11:21
谢谢!都怪我太马虎了。。视频看一半就开始做。。。谢谢大佬!!

客气了,我也是上个星期刚刚学习的
页: [1]
查看完整版本: 新手求助,爬虫的问题(HTTP Error 445)