【python2.7】使用requests模塊登陸豆瓣

不需要user-agent偽裝就可以登陸成功,測試時間:2017-11-04

# -*- coding: utf-8 -*-
import requests
import re
from bs4 import BeautifulSoup

'''
新建一個Session實例,發送get請求,判斷是否有captcha
'''

s = requests.Session()
url_login = 'https://accounts.douban.com/login'
response = s.get(url_login)
# print response.request.headers
soup = BeautifulSoup(response.text, 'html.parser')
captcha = soup.find('img', id='captcha_image')

if captcha:
    captcha_url = captcha['src']
    print captcha_url
    captcha_text = raw_input('Please input the captcha:')
    re_captcha_id = r'<input type="hidden" name="captcha-id" value="(.*?)"/'
    captcha_id = re.findall(re_captcha_id, response.text)

    form_data = {
        'redir': 'https://www.douban.com/people/48373115/',
        'form_email': '15861591989',
        'form_password': 'cloud523',
        'captcha-solution': captcha_text,
        'captcha-id': captcha_id,
        # 'login': u'登陸'
    }
    r = s.post(url_login, data=form_data)
    with open("test.html", 'w') as fh:
        fh.write(r.text.encode("utf-8"))
        fh.close
else:
    form_data = {
        'redir': 'https://www.douban.com/people/48373115/',
        'form_email': '15861591989',
        'form_password': 'cloud523',
    }
    r = s.post(url_login, data=form_data)
    with open("test.html", 'w') as fh:
        fh.write(r.text.encode("utf-8"))
        fh.close

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • ¥開啟¥ 【iAPP實現進入界面執行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,554評論 0 17
  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 當給sq...
    xuningbo閱讀 10,434評論 2 22
  • sqlmap用戶手冊 說明:本文為轉載,對原文中一些明顯的拼寫錯誤進行修正,并標注對自己有用的信息。 ======...
    wind_飄閱讀 2,114評論 0 5
  • 一、基礎知識篇:Http Header之User-AgentUser Agent中文名為用戶代理,是Http協議中...
    iPhone閱讀 15,884評論 0 13