Python爬虫学习4:requests.post模拟登录豆瓣(包括获取验证码)

1.  在豆瓣登录网页尝试登录后打开开发者工具,可以查找后去Headers和Form Data信息。

Python爬虫学习4:requests.post模拟登录豆瓣(包括获取验证码)_第1张图片


2. 实现代码

import requests
import html5lib
import re
from bs4 import BeautifulSoup


s = requests.Session()
url_login = 'http://accounts.douban.com/login'

formdata = {
    'redir':'https://www.douban.com',
    'form_email': '[email protected]',
    'form_password': 'zzwzyt@2015',
    'login': u'登录'
}


headers = {'user-agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 \
           (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'}

r = s.post(url_login, data = formdata, headers = headers)
content = r.text
soup = BeautifulSoup(content, 'html5lib')
captcha = soup.find('img', id = 'captcha_image')    # 查找验证码

可通过image查找验证码所在的地址(src后面的地址)

if captcha:
    captcha_url = captcha['src']
    re_captcha_id = r'

Python爬虫学习4:requests.post模拟登录豆瓣(包括获取验证码)_第2张图片

在网页打开验证码所在地址,看到验证码后手动输入即可。

你可能感兴趣的:(爬虫)