Python實(shí)現(xiàn)爬取需要登錄的網(wǎng)站完整示例
本文實(shí)例講述了Python爬取需要登錄的網(wǎng)站實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
import requests
from lxml import html
# 創(chuàng)建 session 對(duì)象。這個(gè)對(duì)象會(huì)保存所有的登錄會(huì)話請(qǐng)求。
session_requests = requests.session()
# 提取在登錄時(shí)所使用的 csrf 標(biāo)記
login_url = "https://bitbucket.org/account/signin/?next=/"
result = session_requests.get(login_url)
tree = html.fromstring(result.text)
authenticity_token = list(set(tree.xpath("http://input[@name='csrfmiddlewaretoken']/@value")))[0]
payload = {
"username": "<你的用戶名>",
"password": "<你的密碼>",
"csrfmiddlewaretoken": authenticity_token # 在源代碼中,有一個(gè)名為 “csrfmiddlewaretoken” 的隱藏輸入標(biāo)簽。
}
# 執(zhí)行登錄
result = session_requests.post(
login_url,
data = payload,
headers = dict(referer=login_url)
)
# 已經(jīng)登錄成功了,然后從 bitbucket dashboard 頁(yè)面上爬取內(nèi)容。
url = 'https://bitbucket.org/dashboard/overview'
result = session_requests.get(
url,
headers = dict(referer = url)
)
# 測(cè)試爬取的內(nèi)容
tree = html.fromstring(result.content)
bucket_elems = tree.findall(".//span[@class='repo-name']/")
bucket_names = [bucket.text_content.replace("n", "").strip() for bucket in bucket_elems]
print(bucket_names)
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- 用python登錄帶弱圖片驗(yàn)證碼的網(wǎng)站
- python中requests模擬登錄的三種方式(攜帶cookie/session進(jìn)行請(qǐng)求網(wǎng)站)
- python實(shí)現(xiàn)網(wǎng)站微信登錄的示例代碼
- python實(shí)現(xiàn)網(wǎng)站用戶名密碼自動(dòng)登錄功能
- 對(duì)python抓取需要登錄網(wǎng)站數(shù)據(jù)的方法詳解
- Python 登錄網(wǎng)站詳解及實(shí)例
- Python3使用requests登錄人人影視網(wǎng)站的方法
- Python爬蟲(chóng)模擬登錄帶驗(yàn)證碼網(wǎng)站
- python實(shí)現(xiàn)網(wǎng)站的模擬登錄
- 使用Python中的cookielib模擬登錄網(wǎng)站
- python 模擬網(wǎng)站登錄——滑塊驗(yàn)證碼的識(shí)別
相關(guān)文章
詳解Selenium+PhantomJS+python簡(jiǎn)單實(shí)現(xiàn)爬蟲(chóng)的功能
這篇文章主要介紹了詳解Selenium+PhantomJS+python簡(jiǎn)單實(shí)現(xiàn)爬蟲(chóng)的功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python報(bào)錯(cuò)ValueError:?cannot?convert?float?NaN?to?intege
在Python編程中,我們經(jīng)常需要處理各種數(shù)據(jù)類型,包括浮點(diǎn)數(shù)和整數(shù),然而,有時(shí)候我們可能會(huì)遇到一些意外的情況,比如將一個(gè)包含NaN(Not?a?Number)的浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù)時(shí),就會(huì)拋出錯(cuò)誤,本文將探討這個(gè)錯(cuò)誤的原因,并給出幾種可能的解決方案,需要的朋友可以參考下2024-09-09
Django微信小程序后臺(tái)開(kāi)發(fā)教程的實(shí)現(xiàn)
這篇文章主要介紹了Django微信小程序后臺(tái)開(kāi)發(fā)教程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
Python標(biāo)準(zhǔn)庫(kù)urllib2的一些使用細(xì)節(jié)總結(jié)
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)urllib2的一些使用細(xì)節(jié)總結(jié),本文總結(jié)了Proxy 的設(shè)置、Timeout 設(shè)置、Redirect、Cookie等細(xì)節(jié)的使用,需要的朋友可以參考下2015-03-03
python+mysql實(shí)現(xiàn)教務(wù)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python+mysql實(shí)現(xiàn)教務(wù)管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
Python MySQL數(shù)據(jù)庫(kù)連接池組件pymysqlpool詳解
這篇文章主要跟大家介紹了關(guān)于Python MySQL數(shù)據(jù)庫(kù)連接池組件pymysqlpool的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-07-07
Python中使用urllib2防止302跳轉(zhuǎn)的代碼例子
這篇文章主要介紹了Python中使用urllib2防止302跳轉(zhuǎn)的代碼例子,即避免302跳轉(zhuǎn)的實(shí)現(xiàn),需要的朋友可以參考下2014-07-07

