您当前的位置: 首页 >  爬虫

川川菜鸟

暂无认证

  • 1浏览

    0关注

    969博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

爬虫学习(2):request库使用

川川菜鸟 发布时间:2021-01-25 01:14:43 ,浏览量:1

hh先强力推荐下python推出的kite神器,安装好后,写代码都有提示,超级帮,解决忘记完整代码 在这里插入图片描述 步入正题: request,老规矩,不讲原理,讲方法,不喜欢废话 还是以爬取CSDN为例子

import urllib.request
request = 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,parse
url='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 request
url='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,你们去试试别的网页爬取呗,这是简单的爬取网页源码,别急,先熟悉下这个架构,后面再慢慢讲

关注
打赏
1665165634
查看更多评论
立即登录/注册

微信扫码登录

0.0800s