本帖最后由 王大哈哈 于 2021-1-6 14:42 编辑
今天的学习总结首先,需要了解爬虫,它是干甚滴,能干甚,违法不?嘿嘿!
我也不知道!哈哈哈哈!
爬虫呢主要分为4个流程:发起请求、获取相应内容、解析内容、保存数据!
我自己的理解呢就是:打开网页,把想要的内容复制下来,然后保存到自己想保存的地方!比较粗暴简单
嘿嘿!
今天学习使用到了urllib库中的requset.urlopen()函数和requset.Requset()
没学习爬虫之前觉得,哎呀,这肯定很难,用代码访问网页,真麻烦。
今天学习了一下! 嗯! python真香!!这些库,太好用了!requset.urlopen("网页链接")这个函数能够直接打开网页,并且把网页的源代码直接爬取下来。
我就好奇的用百度试了试
[Python] 纯文本查看 复制代码 import urllib.request
request = urllib.request.urlopen("http://www.baidu.com")
print(request) 运行以后返回的是:
<http.client.HTTPResponse object at 0x000001D73155B1F0>返回的类型是个object的类型!!
接着继续查看它的内容:
print(request.read().decode('utf-8'))
然后百度网的源代码就出来了!!
我寻思着,这玩意这么神奇??
我就又试了试豆瓣网!
结果遇到了!人生中第一个
418!
我寻思这是个啥玩意!然后补课补课在补课!才知道
原来你发现我是爬虫了啊!
解决418错误也很简单,就是伪装一下
“User-Agent”这也是学习到的第二个知识点。
那么“User-Agent”是啥啊!我们 可以打开百度,按F12
根据截图操作啊 你会得到:
单击一下 绿色的线条
就能看到我们要找的这个看不懂的一串字符了
然后我就看到 有什么win10、x64、谷歌浏览器啥啥的,在结合这百度 我才知道
这是访问网页的信息,它会将各种各样的信息传递给服务器,服务器判断,访问的是不是真人。
那我寻思着,我用python访问肯定就是显示我是python了
既然你发现我了那我也要尊重你进行一下伪装:[Python] 纯文本查看 复制代码 head = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"
}
req = urllib.request.Request(url,headers=head)
response = urllib.request.urlopen(req)
print(response.read().decode('utf-8'))
head的定义是一个字典!
谨记!User-Agen这里一定不能拼错,多个空格也不行!
运行代码再去访问,豆瓣的源代码就给我了
urllib.request.Request()这个函数呢,个人理解:
就是将我们想爬取的网页链接,伪装的数据统统放到我们定义的head中,当然我们的head这个字典中还可以添加其它的截图上的元素,添加的越多伪装的就越像!
大佬们勿喷!还请指点!
毕竟我也刚开始学习(公司偷摸学真难!!)
自己的总结!有好的知识点还请分享一下。感谢!
|