??????
???Hello,大家好我叫是Dream呀,一个有趣的Python博主,小白一枚,多多关照???
???CSDN Python领域新星创作者,大二在读,欢迎大家找我合作学习
?入门须知:这片乐园从不缺乏天才,努力才是你的最终入场券!???
?最后,愿我们都能在看不到的地方闪闪发光,一起加油进步???
???“一万次悲伤,依然会有Dream,我一直在最温暖的地方等你”,唱的就是我!哈哈哈~???
???✨✨✨
前言:
requests库其实和urllib库是差不多的,但是urllib库的话有点过时了,所以说一般都是用的request库,下面一起来学习一下吧
官方文档
http://cn.python‐requests.org/zh_CN/latest/
快速上手
http://cn.python‐requests.org/zh_CN/latest/user/quickstart.html
pip install requests
安装成功后会有successfully的提示,已安装会有Requirement already satisfied的提示:
1.类型
```htmlimport requestsurl = "https://www.baidu.com/"response = requests.get(url = url)# 一种类型 六个属性# Response类型print(type(response))
<class "requests.models.Response">
2.以字符串形式来返回网页的源码
# 以字符串形式来返回网页的源码print(response.text)
3.返回一个url地址
# 返回一个url地址print(response.url)
https://www.baidu.com/
4.返回的是二进制数据
# 返回的是二进制数据print(response.content)
5.返回响应的状态码
# 返回响应的状态码print(response.status_code)
200
6.返回的是响应头
# 返回的是响应头print(response.headers)
# (1)一个类型以及六个方法# (2)get请求# (3)post请求 百度翻译# (4)ajsx的get请求# (5)ajax的post请求# (6)cookie登录 微博# (7)代理
# (1)一个类型 六个属性# (2)get请求# (3)post请求# (4)代理# (5)cookie 验证码
import requestsurl = "https://www.baidu.com/s"headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"}data = { "wd": "北京"}# url 请求资源路径# params 参数# kwargs 字典response = requests.get(url=url, params=data, headers=headers)content = response.textprint(content)
1.参数使用params传递
2.参数无需urlencode编码
3.无需请求对象定制
4.请求资源路径中的?可以加也可以不加
# -*-coding:utf-8 -*-# @Author:到点了,心疼徐哥哥# 奥利给干!!!import requestsimport jsonurl = "https://fanyi.baidu.com/sug"headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"}data = { "kw":"eye"}# url请求地址# data请求参数# kwargs 字典response = requests.post(url=url, data=data, headers=headers)content = response.textprint(content)obj = json.loads(content,encoding="utf-8")print(obj)
1.post请求不需要编解码
2.post请求的参数是data
3.不需要请求对象的定制
1.打开古诗文网:
古诗文网
2.登录界面:
# 登录界面url = "https://so.gushiwen.cn/user/login.aspx?from=http://so.gushiwen.cn/user/collect.aspx"headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"}
3.获取页面的源码
# 获取页面的源码:response = requests.get(url=url,headers=headers)content = response.text
4.解析页面源码,然后获取’__VIEWSTATE’和’__VIEWSTATEGENERATOR’
# 解析页面源码,然后获取"__VIEWSTATE"和"__VIEWSTATEGENERATOR"from bs4 import BeautifulSoupsoup = BeautifulSoup(content,"lxml")# 获取"__VIEWSTATE"viewstate = soup.select("#__VIEWSTATE")[0].attrs.get("value")# 获取"__VIEWSTATEGENERATOR"viestategener = soup.select("#__VIEWSTATEGENERATOR")[0].attrs.get("value")
5.获取验证码图片
# 获取验证码图片code = soup.select("#imgCode")[0].attrs.get("src")code_url =" https://so.gushiwen.cn"+code
6.获取图片验证码后,保存到本地,然后观察验证码进行输入。
# 获取图片验证码后,保存到本地,然后观察验证码进行输入。# requests里面有一个session()方法,通过session的返回值 就能使用请求变成一个对象session = requests.session()# 验证码的url的内容response_code = session.get(code_url)# 注意此时要使用二进制数据content_code = response_code.content# wb的模式就是将二进制数据写入文件with open("code.jpg","wb")as fp: fp.write(content_code)code_name = input("请输入你的验证码:")、
7.点击登录
url_post = "https://so.gushiwen.cn/user/login.aspx?from=http%3a%2f%2fso.gushiwen.cn%2fuser%2fcollect.aspx"data_post = { "__VIEWSTATE":viewstate , "__VIEWSTATEGENERATOR":viestategener , "from": "http://so.gushiwen.cn/user/collect.aspx", "email": "18300396393", "pwd": "20020102XYPxyp", "code": code_name, "denglu":"登录",}response_post = session.post(url=url,headers=headers,data=data_post)content_post = response_post.textwith open("gushiwen.html","w",encoding="utf-8") as fp: fp.write(content_post)
8.获取动态验证码
9.打开得到的网站:
进入:
成功撒花!
1.隐藏域
2.验证码
超级鹰
网站:可用账号及密码: 账号:action 密码:action
进入之后进行Python语言Demo下载。
将下载好的Demo放入我们我们的工程文件中去,观察其代码:
1.将此处换成我们的用户名和代码
2.按照提示来替换我们的id:
3.生成我们自己的一个软件id:
4.最后在print后面加上(),就可以啦!
5.由于返回字典,就可以通过键值对对应关系,找到我们的验证码的值了:
4.源码分享:
#!/usr/bin/env python# coding:utf-8import requestsfrom hashlib import md5class Chaojiying_Client(object): def __init__(self, username, password, soft_id): self.username = username password = password.encode("utf8") self.password = md5(password).hexdigest() self.soft_id = soft_id self.base_params = { "user": self.username, "pass2": self.password, "softid": self.soft_id, } self.headers = { "Connection": "Keep-Alive", "User-Agent": "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)", } def PostPic(self, im, codetype): """ im: 图片字节 codetype: 题目类型 参考 http://www.chaojiying.com/price.html """ params = { "codetype": codetype, } params.update(self.base_params) files = {"userfile": ("ccc.jpg", im)} r = requests.post("http://upload.chaojiying.net/Upload/Processing.php", data=params, files=files, headers=self.headers) return r.json() def ReportError(self, im_id): """ im_id:报错题目的图片ID """ params = { "id": im_id, } params.update(self.base_params) r = requests.post("http://upload.chaojiying.net/Upload/ReportError.php", data=params, headers=self.headers) return r.json()if __name__ == "__main__": chaojiying = Chaojiying_Client("action", "action", "925358") #用户中心>>软件ID 生成一个替换 96001 im = open("a.jpg", "rb").read() #本地图片文件路径 来替换 a.jpg 有时WIN系统须要// print(chaojiying.PostPic(im, 1902).get("pic_str")) #1902 验证码类型 官方网站>>价格体系 3.4+版 print 后要加()
Python爬虫❤️ Urllib用法合集——⚡一键轻松入门爬虫⚡
爬虫中的恋爱学心理你get了吗?一杯星巴克温暖你的整个冬天——爬虫bs4解析从入门到入坑
❤️1024不孤单!❤️Xpath爬虫——你最忠实的伴侣:老规矩给我一分钟,万字教你入手Xpath!⚡
Python爬虫实战❤️ 从零开始分析页面,抓取数据——爬取豆瓣电影任意页数 看不懂你来找我!❤️
天青色等烟雨 爬虫在等你❤️post请求⚡cookie登录⚡handler处理器⚡
??? 好啦,这就是今天要分享给大家的全部内容了
❤️❤️❤️如果你喜欢的话,就不要吝惜你的一键三连了~
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/124786.html
摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...
摘要:为了写好爬虫,我们需要准备一个火狐浏览器,还需要准备抓包工具,抓包工具,我使用的是自带的,加上,这两款软件的安装和使用,建议你还是学习一下,后面我们应该会用到。 妹子图网站----前言 从今天开始就要撸起袖子,直接写Python爬虫了,学习语言最好的办法就是有目的的进行,所以,接下来我将用10+篇的博客,写爬图片这一件事情。希望可以做好。 为了写好爬虫,我们需要准备一个火狐浏览器,还需...
摘要:为了写好爬虫,我们需要准备一个火狐浏览器,还需要准备抓包工具,抓包工具,我使用的是自带的,加上,这两款软件的安装和使用,建议你还是学习一下,后面我们应该会用到。 妹子图网站----前言 从今天开始就要撸起袖子,直接写Python爬虫了,学习语言最好的办法就是有目的的进行,所以,接下来我将用10+篇的博客,写爬图片这一件事情。希望可以做好。 为了写好爬虫,我们需要准备一个火狐浏览器,还需...
摘要:以下这些项目,你拿来学习学习练练手。当你每个步骤都能做到很优秀的时候,你应该考虑如何组合这四个步骤,使你的爬虫达到效率最高,也就是所谓的爬虫策略问题,爬虫策略学习不是一朝一夕的事情,建议多看看一些比较优秀的爬虫的设计方案,比如说。 (一)如何学习Python 学习Python大致可以分为以下几个阶段: 1.刚上手的时候肯定是先过一遍Python最基本的知识,比如说:变量、数据结构、语法...
阅读 1246·2021-11-24 09:39
阅读 1474·2021-09-07 09:59
阅读 3459·2019-08-30 15:54
阅读 2455·2019-08-30 11:00
阅读 2656·2019-08-29 15:06
阅读 2133·2019-08-26 13:52
阅读 405·2019-08-26 13:24
阅读 2407·2019-08-26 12:20