爬虫显示418错误
本帖最后由 一个账号 于 2020-3-27 17:09 编辑import urllib.request
from http.cookiejar import CookieJar
import re
cookie = CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie))
data = {}
data= {
"form_email":"your email",
"form_password":"your password",
"source":"index_nav", #没有的话登录不成功
}
data= urllib.parse.urlencode(data).encode('utf-8')
login_url ="https://www.douban.com/stat.html?&action=login_click&platform=phone&login_click_time=1585283968929&callback=jsonp_c9mf28d1cw2nli1"
response = opener.open(login_url,data)
if response.geturl() == 'https://www.douban.com/stat.html?&action=login_click&platform=phone&login_click_time=1585283968929&callback=jsonp_c9mf28d1cw2nli1':
html = response.read()
imgurl = re.search('<img id="captcha_image" src="(.+?)" alt="captcha" class="captcha_image"/>', html)
if imgurl:
#讲图片保存至同目录
url = urllib.urlretrieve(url,'v.jpg')
captcha=re.search('<input type="hidden" name="captcha-id" value="(.+?)"/>' ,html)
if captcha:
vcode = raw_input('请输入图片的验证码:')
data["captcha-solution"] = vcode
data["captcha-id"] = captcha.group(1)
data["user_login"] = "登录"
#提交验证码验证
response=opener.open(login_url, data)
''' 登录成功跳转至首页 '''
if response.geturl() == "http://www.douban.com/":
print('login success ! ')
把headers加上试试 加个 headers 网页检测请求头发现是代码登录的通常就会被拒绝访问,需要加上headers伪装成浏览器请求。 qiuyouzhi 发表于 2020-3-27 14:00
把headers加上试试
老哥可以帮我打一下吗,我照着网上的打,还是不行 一个账号 发表于 2020-3-27 14:03
加个 headers
老哥可以亲手打一下吗,新手一名 Jakcy 发表于 2020-3-27 14:08
老哥可以亲手打一下吗,新手一名
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'
放进data里面 Hoiste 发表于 2020-3-27 14:05
网页检测请求头发现是代码登录的通常就会被拒绝访问,需要加上headers伪装成浏览器请求。
咋加呀,今天刚看完小甲鱼视频,做了作业有点懵 Jakcy 发表于 2020-3-27 14:09
咋加呀,今天刚看完小甲鱼视频,做了作业有点懵
你还在用 Python2 ? 豆瓣网的话确实是需要请求头的,你看下小甲鱼零基础里面爬虫隐藏那节内容吧,其实就几行代码,课程中就有一些解释了。 一个账号 发表于 2020-3-27 14:09
你还在用 Python2 ?
不是呀, Jakcy 发表于 2020-3-27 16:51
不是呀,
只有 Python2 才有 raw_input qiuyouzhi 发表于 2020-3-27 14:08
放进data里面
data = {}
data['form_email'] = '你的账号'
data['form_password'] = '你的密码'
data['source'] = 'index_nav'
data['User-Agent']: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36 Maxthon/5.2.7.5000'
放了还是不行 一个账号 发表于 2020-3-27 16:51
只有 Python2 才有 raw_input
这是复制小甲鱼的一段代码。
老哥,想问一下 ,我加进去了还是行
data = {}
data['form_email'] = '你的账号'
data['form_password'] = '你的密码'
data['source'] = 'index_nav'
data['User-Agent']: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36 Maxthon/5.2.7.5000'
Hoiste 发表于 2020-3-27 14:17
豆瓣网的话确实是需要请求头的,你看下小甲鱼零基础里面爬虫隐藏那节内容吧,其实就几行代码,课程中就有一 ...
十分感谢! 一个账号 发表于 2020-3-27 17:01
不是加到 data 里面,是加到 headers 里面
加进去还是不行。
页:
[1]