目錄模擬登入
案例爬取古詩文網
請求頭中重要的頭資訊
cookie的處理
自動處理
session = requests.session()
#第一次請求傳送:為了捕獲cookie且儲存到session物件中
first_url = ''
session.get(first_url,headers=headers)
#第二次請求傳送:攜帶者cookie進行的請求傳送
url = 'v4/statuses/public_timeline_by_category.json?since_id=-1&max_id=20358211&count=15&category=-1'
json_data = session.get(url=url,headers=headers).json()
json_data
驗證碼的處理:軟體id: 899370
超級鷹的使用流程:
import requests
from hashlib import md5
class chaojiying_client(object):
def __init__(self, username, password, soft_id):
self.username = username
password = password.encode('utf8')
self.password = md5(password).hexdigest()
self.soft_id = soft_id
self.base_params =
self.headers =
def postpic(self, im, codetype):
"""im: 位元組
codetype: 題目型別 參考
"""params =
params.update(self.base_params)
files =
r = requests.post('', data=params, files=files, headers=self.headers)
return r.json()
def reporterror(self, im_id):
"""im_id:報錯題目的id
"""params =
params.update(self.base_params)
r = requests.post('', data=params, headers=self.headers)
return r.json()
#執行**
print chaojiying.postpic(im, 1902)
使用打碼平台識別古詩文網中的驗證碼
#封裝乙個識別驗證碼的函式
def transformcode(imgpath,imgtype):
chaojiying = chaojiying_client('bobo328410948', 'bobo328410948', '899370')
im = open(imgpath, 'rb').read()
return chaojiying.postpic(im, imgtype)['pic_str']
可以爬取驗證碼
transformcode('./code.jpg',1902)模擬登入 發現有坑
#處理cookie
session = requests.session()
#獲取且識別驗證碼
url = ''
page_text = session.get(url,headers=headers).text
tree = etree.html(page_text)
code_img_src = ''+tree.xpath('//*[@id="imgcode"]/@src')[0]
#解析出模擬登入請求中動態變化的兩個請求引數的之
__viewstate = tree.xpath('//*[@id="__viewstate"]/@value')[0]
__viewstategenerator = tree.xpath('//*[@id="__viewstategenerator"]/@value')[0]
#對進行請求時捕獲cookie
#驗證碼對應的文字資料
#對於登入按鈕的點選進行請求傳送
fp.write(login_page_text)
總結
1.先用打碼平台獲取 驗證碼 順帶解決cook
2.對於登入按鈕的點選進行請求傳送發現有動態請求引數 可以先獲取 在登入
4.登入成功 資料解析
隨機驗證碼
function window,document if object.prototype.tostring.call options object object else this options.numarr 0,1,2,3,4,5,6,7,8,9 split this options.lette...
驗證碼處理
雲打碼平台處理驗證碼的實現流程 雲打碼平台處理驗證碼的實現流程 1.對攜帶驗證碼的頁面資料進行抓取 3.可以將驗證碼提交給三方平台進行識別,返回驗證碼上的資料值 雲打碼平台 1.在官網中進行註冊 普通使用者和開發者使用者 2.登入開發者使用者 2.建立乙個軟體 我的軟體 新增新的軟體 3.使用示例 ...
驗證碼隨機生成
pip install captcha驗證碼隨機生成 python 版本 3.6 captcha 版本 0.3 from captcha.image import imagecaptcha import numpy as np import matplotlib.pyplot as plt from...