关于GET模式和POST的模式下网页爬取

先看get模式下:

url="http://www.douban.com"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36"
}
req=urllib.request.Request(url=url,headers=headers)  #post模式下的数据封装
response=urllib.request.urlopen(req)   #封装完了 进行数据传输,response来放置结果
print(response.read().decode("utf-8"))
#是这样做 但是我被拉黑了

url 放置目标解析网址

headers 爬虫时的浏览器伪装

req=urllib.request.Request(url=url,headers=headers) urllib下解析get网页 放入url和headers

response=urllib.request.urlopen(req) 解析封装后 urlopen发送并response接受数据

最后打印记得用read模式并进行decode编码

再看POST模式下

url="http://httpbin.org/post"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36"
}
data = bytes(urllib.parse.urlencode({'name':'eric'}),encoding="utf-8")   #post模式必须做数据封装前的data二进制转换
req=urllib.request.Request(url=url,data=data,headers=headers,method="POST")  #post模式下的数据封装
response=urllib.request.urlopen(req)   #封装完了 进行数据传输,response来放置结果
print(response.read().decode("utf-8"))

post模式更复杂一些

多了一个data的二进制转换,其中涉及encoding 相当于封装前进行data的处理 bytes进行二进制转换

其他都一样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值