爬虫学习(2):request库使用
发布日期:2021-06-29 14:38:35 浏览次数:3 分类:技术文章

本文共 1859 字,大约阅读时间需要 6 分钟。

hh先强力推荐下python推出的kite神器,安装好后,写代码都有提示,超级帮,解决忘记完整代码

在这里插入图片描述
步入正题: request,老规矩,不讲原理,讲方法,不喜欢废话
还是以爬取CSDN为例子

import urllib.requestrequest = urllib.request.Request("https://www.csdn.net/?spm=1011.2124.3001.5359")response=urllib.request.urlopen(request)print(response.read().decode('utf-8'))

第一步导入库吧

第二步request来加入了Request类响应网址
第三步urlopen打开request
最后一步就是打印,加上一个编码方式utf-8
其实这就是request一个最基本完整的构建
在这里插入图片描述
我主要要讲到request库下的Request类使用,没有它真没法继续爬虫了

from urllib import request,parseurl='https://www.csdn.net/?spm=1011.2124.3001.5359'headers={
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'}dict={
'name':'chuan'}data=bytes(parse.urlencode(dict),encoding='utf-8')req=request.Request(url=url,data=data,headers=headers,method='POST')response=request.urlopen(req)print(response.read().decode('utf-8'))

这样爬取是个模式吧,不过很明显我被反爬了

在这里插入图片描述
HTTP Error 403: Forbidden这个报错就是服务器禁止访问
这不影响,继续讲:因为我们要用到header请求头,所以要用到Request类
算了,换一个网址爬,代码没变,换了个网址

from urllib import requesturl='https://zhuanlan.zhihu.com/p/146913886'headers={
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'}req=request.Request(url=url,headers=headers,method='POST')response=request.urlopen(req)print(response.read().decode('utf-8'))

反正就是简单的爬取了网页源码下来了

在这里插入图片描述
一步步讲:
(1)url='https://zhuanlan.zhihu.com/p/146913886’第二行代码呢,就是简单的放个网址

(2)headers={‘User-Agent’:‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36’}这一行代码呢,就是放请求头

(3)req=request.Request(url=url,headers=headers,method=‘POST’)这一行代码呢,我就理解为是用来对应下需要请求的什么,要用到哪个请求头来对应,method就是请求方式为POST

(4)response=request.urlopen(req)这一行代码呢,就是来请求打开这个网页,网页时url已经传参传到req里面了,headers是同样道理

(5)最后就是打印:print(response.read().decode(‘utf-8’)),为了防止乱码,就用了个decode为utf-8

ok,你们去试试别的网页爬取呗,这是简单的爬取网页源码,别急,先熟悉下这个架构,后面再慢慢讲

转载地址:https://chuanchuan.blog.csdn.net/article/details/113100916 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:爬虫学习(3):获取网站cookies
下一篇:爬虫学习(1):urlopen库使用

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月24日 17时45分05秒