第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Python中requests模塊的核心使用(1)

標(biāo)簽:
Python

简介:

requests模块的底层实现其实还是urllib,但是urllib并不常用

requests库简单易用

快速上手

http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

常用属性

import requests

url = "http://www.baidu.com"response = requests.get(url)

print(response.url)

print(response.status_code)

print(response.headers)

print(response.request.headers)

运行结果

webp

运行结果

解释:

response.url:顾名思义,即请求的url地址

response.status_code:即响应的状态码

response.headers:响应头

response.requests.headers:响应对应的请求头,即我们在请求时带的请求头,简单来说就是浏览器识别的我们访问其网站带有的请求头,这里以请求百度为例,很明显,这里的'User-Agent': 'python-requests/2.19.1',其实就是告诉访问的url,我是python的requests访问的。

print(response.content.decode())

response.content.decode():获取网页源码

案例:获取百度首页的百度图片

第一步:

webp

百度首页

首先在百度首页的百度logo图片上点击鼠标右键,点击检查,或者按键盘上的F12,

webp

image.png

找到这个logo的图片的src,即链接地址:

//www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png?where=super

import requests

url = "http://www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png?where=super"response = requests.get(url)with open("baidu.png", "wb") as f:

    f.write(response.content)

完整代码如上,得到结果在当前的目录,即在当前目录即可以看到baidu.png这张图片了

发送带headers的请求

还记得刚才描述的headers的内容吗?

response.requests.headers:响应对应的请求头,即我们在请求时带的请求头,简单来说就是浏览器识别的我们访问其网站带有的请求头,这里以请求百度为例,很明显,这里的'User-Agent': 'python-requests/2.19.1',其实就是告诉访问的url,我是python的requests访问的。

在这种情况下,浏览器是知道我们是爬虫在浏览,那么长期这么操作会导致该网站对IP进行封锁,尤其是短时间内访问量非常大的情况下,那么这个时候我们就需要对写的爬虫进行headers伪装

怎么找到headers呢?

webp

image.png

在浏览器控制台中,找到Network,如果Network里什么都没有,点击浏览器的刷新,或者按F5刷新,即可出现内容,在内容中点击左边的第一个或者其他的都行,只要会出现这样的headers就可以,我们可以在这里面找到User-Agent,将User-Agent后面的内容复制出来,放到我们构造的headers里面。

把它构造成字典的形式,即:

headers = {    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"}

完整代码如下:

import requests

url = "http://www.baidu.com"headers = {    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"}

response = requests.get(url, headers=headers)

print(len(response.content))

感兴趣的小伙伴可以对比一下,带有headers的请求和没有带有headers的请求的区别,这个代码可以看到请求来的内容的总字节数,可以对比字节数是否一致,带headers的请求到的数据是否比不带headers的请求,请求到的数据要多?



作者:techLee
链接:https://www.jianshu.com/p/4e371297aba2


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消