回顾
小饼干 cookie, 能够用来模拟登陆
wordpress-edu-3autumn.localprod.forc.work
若是你想评论, 须要先登陆...
登陆地址: wordpress-edu-3autumn.localprod.forc.work/wp-login.ph…
测试帐号:spiderman,密码:crawler334566
登陆后, 显示评论框
发表评论后, 能够看到以前发表的评论
接着说回登陆页面...
cookies及其用法
通常当你登陆一个网站,你都会在登陆页面看到一个可勾选的选项“记住我”,
若是你勾选了,之后你再打开这个网站就会自动登陆,这就是cookie在起做用
当登陆博客帐号spiderman,并勾选“记住我”,服务器会生成一个cookies和spiderman帐号绑定。
服务器把这个cookies告诉你的浏览器,让浏览器把cookies存储到你的本地电脑。
下一次,浏览器带着cookies访问博客,服务器会知道你是spiderman,不须要再重复输入帐号密码
cookies也是有时效性的,过时后就会失效。
哪怕勾选了“记住我”,但一段时间过去了,网站仍是会提示你要从新登陆
书写登陆代码...
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
复制代码
再看看发表评论时的请求...
发表评论所须要的代码, 注意注释...
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)
复制代码
猫哥教你写爬虫 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