猫哥教你写爬虫 041--模拟登陆-cookie

回顾

1559378630856
1559378823227

小饼干 cookie, 能够用来模拟登陆

wordpress-edu-3autumn.localprod.forc.work

1559398986103

若是你想评论, 须要先登陆...

1559399100032

登陆地址: wordpress-edu-3autumn.localprod.forc.work/wp-login.ph…

测试帐号:spiderman,密码:crawler334566

登陆后, 显示评论框

1559399330112

发表评论后, 能够看到以前发表的评论

1559399352144

接着说回登陆页面...

1559400470416
1559400449468
1559400572313
1559400713435

cookies及其用法

通常当你登陆一个网站,你都会在登陆页面看到一个可勾选的选项“记住我”,

若是你勾选了,之后你再打开这个网站就会自动登陆,这就是cookie在起做用

1559400779749

当登陆博客帐号spiderman,并勾选“记住我”,服务器会生成一个cookies和spiderman帐号绑定。

服务器把这个cookies告诉你的浏览器,让浏览器把cookies存储到你的本地电脑。

下一次,浏览器带着cookies访问博客,服务器会知道你是spiderman,不须要再重复输入帐号密码

cookies也是有时效性的,过时后就会失效。

哪怕勾选了“记住我”,但一段时间过去了,网站仍是会提示你要从新登陆

1559400920959
1559400949229

书写登陆代码...

import requests
#引入requests。
url = ' https://wordpress-edu-3autumn.localprod.forc.work/wp-login.php'
#把登陆的网址赋值给url。
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'
}
#加请求头,前面有说过加请求头是为了模拟浏览器正常的访问,避免被反爬虫。
data = {
'log': 'spiderman',  #写入帐户
'pwd': 'crawler334566',  #写入密码
'wp-submit': '登陆',
'redirect_to': 'https://wordpress-edu-3autumn.localprod.forc.work/wp-admin/',
'testcookie': '1'
}
#把有关登陆的参数封装成字典,赋值给data。
login_in = requests.post(url,headers=headers,data=data)
#用requests.post发起请求,放入参数:请求登陆的网址、请求头和登陆参数,而后赋值给login_in。
print(login_in)
#打印login_in
复制代码

1559401666581

再看看发表评论时的请求...

1559403473414
1559403568441

发表评论所须要的代码, 注意注释...

import requests
# 登陆, 获取cookies
url = "https://wordpress-edu-3autumn.localprod.forc.work/wp-login.php"
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'
}
data = {
    'log': 'spiderman',
    'pwd': 'crawler334566',
    'rememberme': 'forever',
    'wp-submit': '登陆',
    'redirect_to': 'https://wordpress-edu-3autumn.localprod.forc.work',
    'testcookie': '1'
}
res = requests.post(url, headers=headers, data=data)
# 使用cookies来发表评论
url1 = "https://wordpress-edu-3autumn.localprod.forc.work/wp-comments-post.php"
data1 = {
    'comment': 'hello world again',
    'submit': '发表评论',
    'comment_post_ID': '23',
    'comment_parent': '0'
}
comment = requests.post(url1, headers=headers, data=data1, cookies=res.cookies)
print(comment.status_code)
复制代码

1559548179029
1559547702256
1559404789066
1559403881635
1559404892707

快速跳转:

猫哥教你写爬虫 000--开篇.md
猫哥教你写爬虫 001--print()函数和变量.md
猫哥教你写爬虫 002--做业-打印皮卡丘.md
猫哥教你写爬虫 003--数据类型转换.md
猫哥教你写爬虫 004--数据类型转换-小练习.md
猫哥教你写爬虫 005--数据类型转换-小做业.md
猫哥教你写爬虫 006--条件判断和条件嵌套.md
猫哥教你写爬虫 007--条件判断和条件嵌套-小做业.md
猫哥教你写爬虫 008--input()函数.md
猫哥教你写爬虫 009--input()函数-人工智能小爱同窗.md
猫哥教你写爬虫 010--列表,字典,循环.md
猫哥教你写爬虫 011--列表,字典,循环-小做业.md
猫哥教你写爬虫 012--布尔值和四种语句.md
猫哥教你写爬虫 013--布尔值和四种语句-小做业.md
猫哥教你写爬虫 014--pk小游戏.md
猫哥教你写爬虫 015--pk小游戏(全新改版).md
猫哥教你写爬虫 016--函数.md
猫哥教你写爬虫 017--函数-小做业.md
猫哥教你写爬虫 018--debug.md
猫哥教你写爬虫 019--debug-做业.md
猫哥教你写爬虫 020--类与对象(上).md
猫哥教你写爬虫 021--类与对象(上)-做业.md
猫哥教你写爬虫 022--类与对象(下).md
猫哥教你写爬虫 023--类与对象(下)-做业.md
猫哥教你写爬虫 024--编码&&解码.md
猫哥教你写爬虫 025--编码&&解码-小做业.md
猫哥教你写爬虫 026--模块.md
猫哥教你写爬虫 027--模块介绍.md
猫哥教你写爬虫 028--模块介绍-小做业-广告牌.md
猫哥教你写爬虫 029--爬虫初探-requests.md
猫哥教你写爬虫 030--爬虫初探-requests-做业.md
猫哥教你写爬虫 031--爬虫基础-html.md
猫哥教你写爬虫 032--爬虫初体验-BeautifulSoup.md
猫哥教你写爬虫 033--爬虫初体验-BeautifulSoup-做业.md
猫哥教你写爬虫 034--爬虫-BeautifulSoup实践.md
猫哥教你写爬虫 035--爬虫-BeautifulSoup实践-做业-电影top250.md
猫哥教你写爬虫 036--爬虫-BeautifulSoup实践-做业-电影top250-做业解析.md
猫哥教你写爬虫 037--爬虫-宝宝要听歌.md
猫哥教你写爬虫 038--带参数请求.md
猫哥教你写爬虫 039--存储数据.md
猫哥教你写爬虫 040--存储数据-做业.md
猫哥教你写爬虫 041--模拟登陆-cookie.md
猫哥教你写爬虫 042--session的用法.md
猫哥教你写爬虫 043--模拟浏览器.md
猫哥教你写爬虫 044--模拟浏览器-做业.md
猫哥教你写爬虫 045--协程.md
猫哥教你写爬虫 046--协程-实践-吃什么不会胖.md
猫哥教你写爬虫 047--scrapy框架.md
猫哥教你写爬虫 048--爬虫和反爬虫.md
猫哥教你写爬虫 049--完结撒花.mdphp

相关文章
相关标签/搜索