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

川川菜鸟

暂无认证

  • 2浏览

    0关注

    969博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

爬虫学习(6):requets使用(1)

川川菜鸟 发布时间:2021-01-26 23:36:40 ,浏览量:2

**(1)**基本用法了解 前面讲了urlib中的urlopen,就是通过get方式获取。这里就直接使用requests模块的get函数直接来获取(get和urlopen是相同的),主要是这个更方便:

import requests
u=requests.get('https://mp.csdn.net/console/article')
print(u.status_code)#打印状态码
print(u.text)#打印文本
print(u.cookies)#打印cookie

在这里插入图片描述 再举例子:

import requests
r=requests.post('https://www.csdn.net/?spm=1011.2124.3001.5359')
s=requests.put('https://www.csdn.net/?spm=1011.2124.3001.5359')
print(r.status_code)
print(r.text)
print(s.status_code)
print(s.text)

在这里插入图片描述 虽然请求失败但不影响,主要是介绍下用requests模块的话,可以很简单的方式请求,比如说put,post,delete这些之间换一下就换了一个请求方式 (2)get请求 最基本是这样的:

import requests
url=requests.get('https://www.baidu.com/')
print(url.text

这没啥说的,前面都说过了。 如果返回类型是str字符串的话,就用json,返回一个字典,例子如下:

import requests
u=requests.get('https://httpbin.org/get')
print(type(u.text))
print(u.json())
print(type(u.json()))

在这里插入图片描述 如果返回不是json格式,就会解析错误而报错。 (3)用requests一步获取cookie,比前面的urlib简单多了

import requests
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'
}#请求头
url='https://www.csdn.net/?spm=1011.2124.3001.5359'
r=requests.get(url=url,headers=headers)
print(r.cookies)#直接打印

在这里插入图片描述 现在以知乎为例子: 先获取cookies:

import requests
headers={
    'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11'
}
url='http://www.zhihu.com'
r=requests.get(url=url,headers=headers)
print(r.cookies)

在这里插入图片描述 登录知乎,找到cookie: 在这里插入图片描述 用这里的cookie来获取网页:

import requests
headers={
    'Cookie':'_zap=f4cf1039-988d-4506-86b0-4a66e741c6b1; d_c0="AGDcaFGHGRKPTutiDmNxGnxfi7VhsfQ0wI8=|1603730839"; _xsrf=01xnSvUI1MkWP715R02yeXnThs2EHIXu; Hm_lvt_98beee57fd2ef70ccdd5ca52b9740c49=1610911317,1611507538,1611565882,1611566000; SESSIONID=EQPbneOhTXEKEWzoKhctFGCvXtNsbB6hgyaptDJMHfy; JOID=UFoUAUOmDkyYr9xFaaZkkCC9KVZ441wf8Mu5CQL4VgrQ4IE_BWQiVfil30VgxKKpzSBYFUbBpzXzd2z2Km1WeDs=; osd=WloUBkysDkyfoNZFaaFrmiC9Llly41wY_8G5CQX3XArQ5441BWQlWvKl30JvzqKpyi9SFUbGqD_zd2v5IG1WfzQ=; Hm_lpvt_98beee57fd2ef70ccdd5ca52b9740c49=1611673785; capsion_ticket="2|1:0|10:1611673806|14:capsion_ticket|44:N2ExMGExOTQ3YWIwNGE1YzliMTc1Mzk0ZmEwMjAyYTE=|5aecaa59c17c237af06b47a7b1402eb5b996139c8a6e1d15490899fab3c17108"; KLBRSID=031b5396d5ab406499e2ac6fe1bb1a43|1611673848|1611672766; z_c0="2|1:0|10:1611673849|4:z_c0|92:Mi4xUkFJd0lnQUFBQUFBWU54b1VZY1pFaVlBQUFCZ0FsVk4tWDc5WUFCQmZYWFB4ZkM5Z3l6ZlRNSENUUHVhR0lmYy1B|6d89241fc554ad378bce7f27715f2a4cc63cf87028c2da1e4104423b99ee14ee"; unlock_ticket="APBUrbfKXhImAAAAYAJVTQE4EGCaxoSZiXGfIktWFZReL6J3wOaKOQ=="',
    'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
    'host':'www.zhihu.com',
}
url='http://www.zhihu.com'
r=requests.get(url=url,headers=headers)
print(r.text)

在这里插入图片描述 返回结果有知乎里的相关内容,这样就是成功登录知乎了 再提一点session,它可以实现同一个站点进去不同页面:

import requests
s=requests.Session()
s.get('http://httpbin.org/cookies/set/number/147258369')
r=s.get('http://httpbin.org/cookies')
print(r.text)

在这里插入图片描述

后续会补充session,这里提一下

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

微信扫码登录

0.0593s