1. 程式人生 > >Python爬蟲學習4:requests.post模擬登入豆瓣(包括獲取驗證碼)

Python爬蟲學習4:requests.post模擬登入豆瓣(包括獲取驗證碼)

1.  在豆瓣登入網頁嘗試登入後開啟開發者工具,可以查詢後去Headers和Form Data資訊。


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': '
[email protected]
', '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'<input type="hidden" name="captcha-id" value="(.*?)"/'
    captcha_id = re.findall(re_captcha_id, content)
    print(captcha_id)
    print(captcha_url)
    captcha_text = input('Please input the captcha:')
    print('已輸入驗證碼')
    formdata['captcha-solution'] = captcha_text
    formdata['captcha-id'] = captcha_id
    r = s.post(url_login, data = formdata, headers = headers)
    
with open('contacts.txt', 'w+', encoding = 'utf-8') as f:
    f.write(r.text)


在網頁開啟驗證碼所在地址,看到驗證碼後手動輸入即可。

相關推薦

Python爬蟲學習4requests.post模擬登入豆瓣包括獲取驗證

1.  在豆瓣登入網頁嘗試登入後開啟開發者工具,可以查詢後去Headers和Form Data資訊。2. 實現程式碼import requests import html5lib import re from bs4 import BeautifulSoup s = re

python爬蟲scrapy框架——人工識別知乎登入知乎倒立文字驗證和數字英文驗證

import requests try: import cookielib except: import http.cookiejar as cookielib import re import time def get_xsrf(): # 獲取xsrf code res

模擬登陸之豆瓣手動輸入驗證

from lxml import etree import requests from PIL import Image session=requests.session() def get_html(url,uname,password,zym,va): t

python爬蟲系列(2.3-requests模擬使用者登入)

一、模擬登入拉鉤網 import re import requests class LoginLaGou(object):     """     模擬登入拉鉤網     """    

python爬蟲入門(二)Requests的使用

雖然Python有內建的urllib庫,可以實現網路的請求,但是我並不推薦。因為urllib在很多時候使用起來不方便,比如加一個代理,處理Cookie時API都很繁瑣,再比如傳送一個POST請求也很麻煩。而Requests就相當於urllib的升級版本,簡

python爬蟲系列二requests-設定headers3

1、為什麼要設定headers? 在請求網頁爬取的時候,輸出的text資訊中會出現抱歉,無法訪問等字眼,這就是禁止爬取,需要通過反爬機制去解決這個問題。headers是解決requests請求反爬的方法之一,相當於我們進去這個網

python爬蟲學習筆記——使用requests庫編寫爬蟲1

       首先感謝http://python.jobbole.com ,我是看了此站的文章之後才有寫此文的想法,本人也是開始學python不久,此文僅僅是記錄一些學習過程中遇到的問題,邊學邊寫,初次寫這樣的博文,差錯在所難免,如有差錯也請指出,感激不盡。       

Python3爬蟲學習4降爬取的資訊儲存到本地

將爬取的資訊儲存到本地 之前我們都是將爬取的資料直接列印到了控制檯上,這樣顯然不利於我們對資料的分析利用,也不利於儲存,所以現在就來看一下如何將爬取的資料儲存到本地硬碟。 1.對.txt檔案的操作 讀寫檔案是最常見的操作之一,python3 內建了讀寫

Python爬蟲學習6scrapy入門爬取汽車評論並儲存到csv檔案

一、scrapy 安裝:可直接使用Anaconda Navigator安裝, 也可使用pip install scrapy安裝二、建立scrapy 爬蟲專案:語句格式為 scrapy startproject project_name生成的爬蟲專案目錄如下,其中spiders

Python機器學習筆記異常點檢測演算法——LOFLocal Outiler Factor

完整程式碼及其資料,請移步小編的GitHub   傳送門:請點選我   如果點選有誤:https://github.com/LeBron-Jian/MachineLearningNote   在資料探勘方面,經常需要在做特徵工程和模型訓練之前對資料進行清洗,剔除無效資料和異常資料。異常檢測也是資料探勘的一個方

Taurus.MVC 2.2.3.4 WebAPI 實現許可權控制認證及功能增強說明

前言: 前兩天,當我還在老家收拾行旅,準備回廣州,為IT連的創業再戰365天時, 有網友扣上問:Taurus.MVC中如何實現認證和許可權控制,最好能做個小例子。 我一不小心回了句:等回廣州我再寫篇文章...... 然後,今天就來補文章了〜〜〜〜 Taurus.MVC Nuget 更新: 寫文之前

SpringBoot學習整合shiro自動登入功能rememberMe記住我功能

首先在shiro配置類中注入rememberMe管理器 /** * cookie物件; * rememberMeCookie()方法是設定Cookie的生成模版,比如cookie的name,cookie的有效時間等等。 * @return */ @Bean public

node.js使用superagent實現模擬登陸功能包含下載驗證功能

ssa split 輸入 spa code ike utf RM lang superagent版本:3.8.3 樣例代碼: var process = require(‘process‘); var superagent = require(‘superagent‘);

Ueditor1.4.3百度編輯器配置包括上傳圖片的使用心得

第一次使用Ueditor,遇到很多問題,我使用的是開發版Ueditor1.4.3jsp的UTF-8版本的,java框架是spring MVC (一) 1)首先第一步去到http://ueditor

Selenium+Python 自動化操控登入介面有簡單驗證圖片校驗

從最簡單的Web瀏覽器的登入介面開始,登入介面如下: 進行Web頁面自動化測試,對頁面上的元素進行定位和操作是核心。而操作又是以定位為前提的,因此,對頁面元素的定位是進行自動化測試的基礎。 頁面上的元素就像人一樣,有各種屬性,比如元素名字,元素i

驗證實現方式-------js實現驗證

一.js實現驗證碼: 第一步:建一個login.htm,一個code.js檔案,一個code.css檔案,準備一張圖片code.jpg 第二步:編寫login.htm檔案,內容為: <html>     <head>     <script

python爬蟲學習筆記一爬蟲學習概覽與Requests庫的安裝與使用

python網路爬蟲與資訊提取 學習目錄: the website is the API Requests:自動爬取HTML頁面自動網路請求提交 robots.txt:網路爬蟲排除標準 Beautiful Soup:解析HTML頁面 正則表示式詳解,提取頁面關鍵資訊Re

python爬蟲學習筆記二Requests庫詳解及HTTP協議

Requests庫的安裝:https://mp.csdn.net/postedit/83715574 r=requests.get(url,params=None,**kwargs) 這個r是Response物件 url :擬獲取頁面的url連結 params:url中的額外引數

python爬蟲學習筆記1requests庫及robots協議

The Website is the API requests庫 requests庫的7個主要方法 requests.request 構造一個請求 requests.request(method,url,[**kwarges]) me

python爬蟲學習實踐(一)requests庫和正則表示式之淘寶爬蟲實戰

使用requests庫是需要安裝的,requests庫相比urllib 庫來說更高階方便一點,同時與scrapy相比較還是不夠強大,本文主要介紹利用requests庫和正則表示式完成一項簡單的爬蟲小專案----淘寶商品爬蟲。有關於更多requests庫的使用方法請參考:官方文件第一步:我們先開啟淘寶網頁然後搜