hh先强力推荐下python推出的kite神器,安装好后,写代码都有提示,超级帮,解决忘记完整代码
步入正题: request,老规矩,不讲原理,讲方法,不喜欢废话
还是以爬取CSDN为例子
第一步导入库吧
第二步request来加入了Request类响应网址
第三步urlopen打开request
最后一步就是打印,加上一个编码方式utf-8
其实这就是request一个最基本完整的构建
我主要要讲到request库下的Request类使用,没有它真没法继续爬虫了
这样爬取是个模式吧,不过很明显我被反爬了
HTTP Error 403: Forbidden这个报错就是服务器禁止访问
这不影响,继续讲:因为我们要用到header请求头,所以要用到Request类
算了,换一个网址爬,代码没变,换了个网址
反正就是简单的爬取了网页源码下来了
一步步讲:
(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,你们去试试别的网页爬取呗,这是简单的爬取网页源码,别急,先熟悉下这个架构,后面再慢慢讲