環境:win10,安卓9,配置好的mitmdump和相關證書
代碼:
import json
import pymongo
from mitmproxy import ctx
def response(flow):
# https://entree.igetget.com/ebook2/v1/ranklist/list?requestType=new_rank&count=20&max_id=0 # 新書排行鏈接
url = 'https://entree-ws.igetget.com/ebook2/v1/ranklist/list?requestType=total_rank&count=20&max_id=0' # 熱書排行
# 對url的過濾,只有mitmdump捕捉到符合的url以後,纔會導出數據
if flow.request.url.startswith(url):
text = flow.response.text
data = json.loads(text)
books = data.get('c').get('data')
for book in books:
data = {
'title': book.get('operating_title'),
'cover': book.get('cover'),
'summary': book.get('other_share_summary'),
'introduce': book.get('book_intro'),
'price': book.get('price')
}
save(data)
ctx.log.info(str(data))
ctx.log.info('------------------------------------------------------------------------------------------------------')
def save(data):
client = pymongo.MongoClient(host='localhost')
db = client.igetget
collection = db.book
if data:
collection.insert(data)
成果:
Ps:有什麼問題歡迎大家評論