• 入门实例
  • 1、网站反爬虫
  • 2、伪造request请求
  • 3、伪造登陆
  • 4、错误的伪造点赞
  • 5、伪造点赞调试
  • 6、通过代码进行点赞
  • 7、批量点赞
  • 8、取消点赞
  • 模拟登陆github

Python标准库中提供了:urllib、urllib2、httplib等模块以供Http请求,但是,它的 API 太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。

Requests 是使用 Apache2 Licensed 许可证的 基于Python开发的HTTP 库,其在Python内置模块的基础上进行了高度的封装,从而使得Pythoner进行网络请求时,变得美好了许多,使用Requests可以轻而易举的完成浏览器可有的任何操作。

入门实例

import requests
from bs4 import BeautifulSoup# 1. 下载页面
ret = requests.get(url='https://www.autohome.com.cn/news/')
ret.encoding = ret.apparent_encoding
# print(ret.text)# 2. 解析:获取想要的指定内容beautifulsoup
soup = BeautifulSoup(ret.text,'html.parser') # lxmldiv = soup.find(name='div',id='auto-channel-lazyload-article')
li_list = div.find_all(name='li')for li in li_list:h3 = li.find(name='h3')#有的是Noneif not h3:continuep = li.find(name='p')a = li.find('a')print(h3.text, a.get('href'))print(p.text)print('=' * 25)

輸出如下:

=========================
内外焕然一新 全新长安CS35谍照曝光 //www.autohome.com.cn/news/201805/917066.html#pvareaid=102624
[汽车之家 国内谍照]  日前,我们从汽车拍客阿睿的微博处获取到了一组长安全新CS35的路试谍照。根据此前信息来看,新车将会在今年下半年正式上市销售。...
=========================
涉及7款新车型 北汽幻速公布产品规划 //www.autohome.com.cn/news/201805/917062.html#pvareaid=102624
[汽车之家 新闻]  日前,我们从北汽幻速官方获悉,其未来将推出全新“X”系列车型,并透露了其未来在新能源车型的布局以及将在未来推出一款全新MPV车型...
=========================

下载图片

import requests
from bs4 import BeautifulSoup# 1. 下载页面
ret = requests.get(url='https://www.autohome.com.cn/news/')
ret.encoding = ret.apparent_encoding
# print(ret.text)# 2. 解析:获取想要的指定内容beautifulsoup
soup = BeautifulSoup(ret.text,'html.parser') # lxmldiv = soup.find(name='div',id='auto-channel-lazyload-article')
li_list = div.find_all(name='li')for li in li_list:h3 = li.find(name='h3')#有的是Noneif not h3:continueimg = li.find('img')#拿到圖片的urlsrc = img.get('src')#後綴文件名file_name = src.rsplit('__',maxsplit=1)[1]#獲取網絡圖片ret_img = requests.get(url="https:" + src)#寫入文件with open(file_name,'wb') as f:f.write(ret_img.content)

1、网站反爬虫

r1 = requests.get(url='https://dig.chouti.com/all/hot/recent/1',
)print(r1.text)

输出如下:会提示网站防火墙

<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>网站防火墙</title>
<style>
p {line-height:20px;
}

2、伪造request请求

r1 = requests.get(url='https://dig.chouti.com/all/hot/recent/1',headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36'}
)print(r1.text)

添加headers,就可以爬取网站数据了

3、伪造登陆

response_login = requests.post(url='https://dig.chouti.com/login',data={'phone':'XXXXX', 'password':"XXXXX", 'oneMonth':'1' },headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36' },
)print(response_login.text)

输出如下:

{"result":{"code":"9999", "message":"", "data":{"complateReg":"0","destJid":"cdu_49803354421"}}}

4、错误的伪造点赞

response_login = requests.post(url='https://dig.chouti.com/login',data={'phone':'顺丰到付', 'password':"十分到", 'oneMonth':'1' },headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36' },)r1_cookie_dict = response_login.cookies.get_dict()ret = requests.post(url="https://dig.chouti.com/link/vote?linksId=19329006",headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36' },cookies=r1_cookie_dict
)
print(ret.text)

以上是错误的,不能进行点赞

5、伪造点赞调试

点赞操作,网站cookie

Cookie: gpsd=9f1955c3dc27771fd2c1400a4d210b7d; JSESSIONID=aaaaCRNkvJO6KdAwZ6fmw; route=340ad5ec7bdbaaaa2d4d12be04eae5d2; gpid=9ed52f3ca2b64e49996d64cc9c86827a; _pk_ref.1.a2d5=%5B%22%22%2C%22%22%2C1525683488%2C%22https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DuR2E6enPPD46TEft2mcKxrSqHCpayNgKIXfIAAEQKQuiypGVXfAdhuXBWfHubt-K%26wd%3D%26eqid%3Db497a0aa00025657000000035af01516%22%5D; _pk_ses.1.a2d5=*; puid=cdu_49803354421; puid=cb55d2189f99a8d3a19c7441d09affe5; _pk_id.1.a2d5=d0e24c0126d32bf5.1525683488.1.1525687100.1525683488.
ret = requests.post(url="https://dig.chouti.com/link/vote?linksId=19329006",headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36' },# cookies=r1_cookie_dictcookies={'gpsd': '9f1955c3dc27771fd2c1400a4d210b7d', 'gpid': '9ed52f3ca2b64e49996d64cc9c86827a', }
)
print(ret.text)

输出如下:

{"result":{"code":"9999", "message":"推荐成功", "data":{"jid":"cdu_49803354421","likedTime":"1525687086616000","lvCount":"10","nick":"似懂非懂发","uvCount":"508","voteTime":"小于1分钟前"}}}

6、通过代码进行点赞

import requests
from bs4 import BeautifulSoup# 1. 先访问抽屉新热榜,获取cookie(未授权)
r1 = requests.get(url='https://dig.chouti.com/all/hot/recent/1',headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36'}
)
# print(r1.text)r1_cookie_dict = r1.cookies.get_dict()#
# # 2. 发送用户名和密码认证 + cookie(未授权)
response_login = requests.post(url='https://dig.chouti.com/login',data={'phone': '顺丰顺丰的','password': "随风倒十分",'oneMonth': '1'},headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'},cookies = r1_cookie_dict
)ret = requests.post(url="https://dig.chouti.com/link/vote?linksId=19329006",headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'},cookies=r1_cookie_dict)
print(ret.text)

输出如下:

{"result":{"code":"9999", "message":"推荐成功", "data":{"jid":"cdu_49803354421","likedTime":"1525687678292000","lvCount":"14","nick":"水水水水水","uvCount":"508","voteTime":"小于1分钟前"}}}

7、批量点赞

import requests
from bs4 import BeautifulSoup# 1. 先访问抽屉新热榜,获取cookie(未授权)
r1 = requests.get(url='https://dig.chouti.com/all/hot/recent/1',headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36'}
)r1_cookie_dict = r1.cookies.get_dict()#
# # 2. 发送用户名和密码认证 + cookie(未授权)
response_login = requests.post(url='https://dig.chouti.com/login',data={'phone': '算法大是大非','password': "士大夫似的",'oneMonth': '1'},headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'},cookies = r1_cookie_dict
)for page_num in range(1,2):response_index = requests.get(url='https://dig.chouti.com/all/hot/recent/%s' %page_num,headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'})soup = BeautifulSoup(response_index.text,'html.parser')div = soup.find(attrs={'id':'content-list'})items = div.find_all(attrs={'class':'item'})for item in items:tag = item.find(attrs={'class':'part2'})nid = tag.get('share-linkid')# 根据每一个新闻ID点赞r1 = requests.post(url='https://dig.chouti.com/link/vote?linksId=%s' %nid,headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'},cookies=r1_cookie_dict)print(r1.text)

输出如下:

E:\python\python_sdk\python.exe E:/python/py_dev/python/day132/2.登录抽屉.py
{"result":{"code":"9999", "message":"推荐成功", "data":{"jid":"cdu_49803354421","likedTime":"1525688272054000","lvCount":"13","nick":"士大夫","uvCount":"509","voteTime":"小于1分钟前"}}}
{"result":{"code":"9999", "message":"推荐成功", "data":{"jid":"cdu_49803354421","likedTime":"1525688273598000","lvCount":"10","nick":"士大夫","uvCount":"510","voteTime":"小于1分钟前"}}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"9999", "message":"推荐成功", "data":{"jid":"cdu_49803354421","likedTime":"1525688280154000","lvCount":"18","nick":"顺丰顺丰的","uvCount":"511","voteTime":"小于1分钟前"}}}
{"result":{"code":"9999", "message":"推荐成功", "data":{"jid":"cdu_49803354421","likedTime":"1525688282204000","lvCount":"48","nick":"所发生的","uvCount":"512","voteTime":"小于1分钟前"}}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}
{"result":{"code":"30010", "message":"你已经推荐过了", "data":""}}Process finished with exit code 0

8、取消点赞

只需要成如下代码即可

for page_num in range(1,5):response_index = requests.get(url='https://dig.chouti.com/all/hot/recent/%s' %page_num,headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'})soup = BeautifulSoup(response_index.text,'html.parser')div = soup.find(attrs={'id':'content-list'})items = div.find_all(attrs={'class':'item'})for item in items:tag = item.find(attrs={'class':'part2'})nid = tag.get('share-linkid')# 根据每一个新闻ID点赞r1 = requests.post(# url='https://dig.chouti.com/link/vote?linksId=%s' %nid,url='https://dig.chouti.com/vote/cancel/vote.do',headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'},data={'linksId': nid,},cookies=r1_cookie_dict)print(r1.text)

模拟登陆github

import requests
from bs4 import BeautifulSoupr1 = requests.get(url='https://github.com/login'
)
s1 = BeautifulSoup(r1.text, 'html.parser')
token = s1.find(name='input', attrs={'name': 'authenticity_token'}).get('value')
print(token)r1_cookie_dict = r1.cookies.get_dict()r2 = requests.post(url='https://github.com/session',data={'commit': 'Sign in','utf8': '✓','authenticity_token': token,'login': 'xxx.wang@aliyun.com','password': 'xxx*+'},headers={'Host': 'github.com','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Accept-Language': 'zh-CN,zh;q=0.9','Accept-Encoding': 'gzip, deflate, br','Connection': 'keep-alive','User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'},cookies=r1_cookie_dict
)print(r2.text)

requests实现登陆、点赞、批量点赞、取消点赞相关推荐

  1. 微信小程序点赞成功,取消点赞、评论。

    今天做了一个微信小程序的点赞和评论功能!人生都有第一次,没有做过是因为没有思路,如果思路明白了,自然就会了! 一.首先,我们点赞需要明白两点. 1.微信人的id,也就是本人点击成功. 2.我想要点赞哪 ...

  2. JS实现点赞变亮与取消点赞变灰样式

    html代码: <div :class="box change ? 'box-one' : 'box-two'" @click="toggleClick" ...

  3. Redis是如何实现点赞、取消点赞的?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:solocoder juejin.im/post/5bdc2 ...

  4. 微信几亿人在线的点赞、取消点赞系统,用Redis如何实现?

    戳蓝字"CSDN云计算"关注我们哦! 作者 | solocoder 责编 | 阿秃 点赞功能大家都不会陌生,像微信这样的社交产品中都有,但别看功能小,想要做好需要考虑的东西还挺多的 ...

  5. mysql实现点赞和取消_Redis是如何实现点赞、取消点赞的?

    作者:solocoder juejin.im/post/5bdc257e6fb9a049ba410098 本文基于 SpringCloud, 用户发起点赞.取消点赞后先存入 Redis 中,再每隔两小 ...

  6. Redis如何高效实现点赞、取消点赞功能

    点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/lsy0903/article/details/103949459 基于 SpringCloud, 用户发起点赞.取消点赞后先存 ...

  7. 用asp.net实现微博系统_微信几亿人在线的点赞、取消点赞系统,用Redis如何实现?...

    戳蓝字"CSDN云计算"关注我们哦!作者 | solocoder责编 | 阿秃点赞功能大家都不会陌生,像微信这样的社交产品中都有,但别看功能小,想要做好需要考虑的东西还挺多的,如海 ...

  8. springboot整合redis案例——点赞取消点赞

    目录 springboot与缓存 JSR-107 Spring缓存抽象 重要概念和缓存注解 springboot整合redis 案例一:Redis是实现点赞.取消点赞 一.Redis 缓存设计及实现 ...

  9. php 点赞和取消,Redis 是如何实现点赞、取消点赞的?

    小Hub领读: 点赞是个频率比较高的事件,也不是特别重要的记录,使用缓存来存储还是比较合理的,另外像排行榜.热议等都可以使用缓存,先来看看点赞是如何实现的吧,详细代码可以clone看下哈,跟紧脚步,学 ...

最新文章

  1. python中label组件参数_python中连接的组件标签
  2. 逻辑电平0和1的世界
  3. 一张纸能有多大力量?
  4. 初识C++之剖析const与#define
  5. 贪心法——区间选点问题
  6. 一道『easy』等级的力扣题,我写了两个小时的笔记...
  7. 【语义相似度】ESIM:语义相似度领域小模型的尊严
  8. Thrift原理简析
  9. plesk 打不开php,如何在 Plesk 中管理 PHP
  10. vue动态改变css样式
  11. Jmeter数据库连接(MYSQL)
  12. WIN10 激活系统
  13. 网友盘点大陆十大“缺德”行业
  14. 10000以内的质数表
  15. 笔记本电脑怎么找计算机硬盘,详细教您笔记本电脑怎么安装固态硬盘
  16. 自己整理的英语一最终作文模板
  17. 江南科友 hac linux shell,运维安全审计系统(HAC 1000E、HAC 1000P)
  18. 实用分享 2017年最新发布 iod app 上架流程
  19. 量子计算机如何预知未来,刘慈欣《镜子》中量子计算机成真?科学家计划用数学预测宇宙未来...
  20. 一、物理层真的很物理 【计算机网络全景梳理系列】

热门文章

  1. 黑帽实战 | 给大家讲讲一个二类电商的大佬的故事!
  2. 剑指XX游戏(六) - 轻松搞定面试中的红黑树问题
  3. Mac WebStorm卡顿解决
  4. 【文献阅读】Commission Fee is not Enough: A Hierarchical Reinforced Framework for Portfolio Management
  5. 警惕!微信诈骗花样多:点个赞都可能被骗
  6. Android实现mp3音频剪辑(带试听)
  7. 025 导数的四则求导法则之u+v、uv、u/v求导
  8. 中国移动5G智慧港口独立专网
  9. 在同一台机运行多个mysql 服务 多个主/从在同一主机_[ 原创 ]在同一台机运行多个Mysql 服务 多个主/从在同一主机...
  10. 嵌入式 linux下proc目录下的文件详解