快速爬取登入網站資料
部分網站需要登入才能允許訪問,因此爬蟲需要獲取登入cookie,然後通過爬蟲代理使用該cookie進行資料採集。本示例按照以上流程進行實現如下:
1 模擬表單登陸
通過於post請求向伺服器傳送表單資料,爬蟲將返回的cookie進行儲存。
import requests
data = {'data1':'XXXXX', 'data2':'XXXXX'}
response = requests.post(url=url, data=data)
2 提取cookie登陸
讀取儲存的cookie進行登陸,伺服器會認為爬蟲請求是已登陸的使用者,所以就會返回已登陸的內容。注意需要驗證碼的情況可以使用帶驗證碼登陸的cookie解決。
#! -*- encoding:utf-8 -*-
import requests
import random
import requests.adapters
# 要訪問的目標頁面
targetUrlList = [
"https://httpbin.org/ip",
"https://httpbin.org/headers",
"https://httpbin.org/user-agent",
]
# 代理伺服器(產品官網 www.16yun.cn)
proxyHost = "t.16yun.cn"
proxyPort = "31111"
# 代理隧道驗證資訊
proxyUser = "username"
proxyPass = "password"
proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
"host": proxyHost,
"port": proxyPort,
"user": proxyUser,
"pass": proxyPass,
}
# 設定 http和https訪問都是用HTTP代理
proxies = {
"http": proxyMeta,
"https": proxyMeta,
}
# 訪問三次網站,使用相同的Session(keep-alive),均能夠保持相同的外網IP
s = requests.session()
# 設定cookie
cookie_dict = {"JSESSION":"123456789"}
cookies = requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True)
s.cookies = cookies
for i in range(3):
for url in targetUrlList:
r = s.get(url, proxies=proxies)
print r.text
若存在驗證碼,此時採用response = requests_session.post(url=url_login, data=data)是不行的,做法應該如下:
response_captcha = requests_session.get(url=url_login, cookies=cookies)
response1 = requests.get(url_login) # 未登陸
response2 = requests_session.get(url_login) # 已登陸,因為之前拿到了Response Cookie!
response3 = requests_session.get(url_results) # 已登陸,因為之前拿到了Response Cookie!
相關文章
- Python網路爬蟲——模擬登陸爬取網站資料並載入到excl表格裡Python爬蟲網站
- 如何用Python爬取需要登入的網站?Python網站
- 使用 Python 爬取網站資料Python網站
- Golang 爬蟲快速入門 | 獲取 B 站全站的視訊資料Golang爬蟲
- Python爬蟲入門【3】:美空網資料爬取Python爬蟲
- 某網站加密返回資料加密_爬取過程網站加密
- Python爬蟲入門【4】:美空網未登入圖片爬取Python爬蟲
- Python 爬取網站資原始檔Python網站
- 爬取網站新聞網站
- Puppeteer爬取網頁資料網頁
- 分享一個用go寫的爬取非同步載入網站資料的例子Go非同步網站
- 如何解決網站登入後反爬的問題?網站
- 動態網站的爬取網站
- 拉勾網職位資料爬取
- Python爬蟲爬取美劇網站Python爬蟲網站
- Python爬蟲入門教程 4-100 美空網未登入圖片爬取Python爬蟲
- 房產資料爬取、智慧財產權資料爬取、企業工商資料爬取、抖音直播間資料python爬蟲爬取Python爬蟲
- 爬取【ajax+json】非同步載入的網站JSON非同步網站
- Python網路爬蟲3 – 生產者消費者模型爬取某金融網站資料Python爬蟲模型網站
- Python網路爬蟲3 - 生產者消費者模型爬取某金融網站資料Python爬蟲模型網站
- Golddata如何採集需要登入/會話的網站資料?Go會話網站
- 為爬蟲獲取登入cookies:登入的恩恩怨怨爬蟲Cookie
- phpcurl_setopt登入獲取資料PHP
- Python爬蟲—爬取某網站圖片Python爬蟲網站
- GitHub 熱門:各大網站的 Python 爬蟲登入彙總Github網站Python爬蟲
- Python爬取噹噹網APP資料PythonAPP
- 網貸資料爬取及據分析
- Redis快取資料庫-快速入門Redis快取資料庫
- 爬蟲搭建代理池、爬取某網站影片案例、爬取新聞案例爬蟲網站
- Python爬蟲入門教程 2-100 妹子圖網站爬取Python爬蟲網站
- Python爬蟲教程-13-爬蟲使用cookie爬取登入後的頁面(人人網)(下)Python爬蟲Cookie
- Python爬蟲教程-12-爬蟲使用cookie爬取登入後的頁面(人人網)(上)Python爬蟲Cookie
- 爬蟲技術抓取網站資料方法爬蟲網站
- 爬取薅羊毛網站百度雲資源網站
- 爬取高考資料
- Python3 大型網路爬蟲實戰 004 — scrapy 大型靜態商城網站爬蟲專案編寫及資料寫入資料庫實戰 — 實戰:爬取淘寶Python爬蟲網站資料庫
- python初學-爬取網頁資料Python網頁
- 為爬蟲獲取登入cookies: 使用Charles和requests模擬微博登入爬蟲Cookie