前言
本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理
專案目標
采集APP推廣資料
受害者地址
https://www.cpajia.com/
環境
- Python3.6
- pycharm
- requests
- time
- csv
相關庫用 pip install 安裝即可
獲取資料內容
cap之家資料是動態資料加載的~ 開發者工具可以找到相對應的資料介面
請求資料是POST
資料內容找到了,單頁資料可以直接爬取,如果想要爬取多頁資料,那就要分析介面資料url的變化
因為資料介面是post請求,所以一般情況都是data引數的變化,所以查看data引數的變化就可以了~
- 第一頁介面資料data引數
兩個介面都是一樣的資料,但是data引數不一樣,第二個就是感覺data引數就是對應的頁數號,所以可以多看幾頁的data引數的變化
- 第二頁介面資料data引數
- 第三頁介面資料data引數
這一下就很清楚的看到data引數的變化了~Pagelndex是等引數列 剛好對應的頁數
所以再翻頁爬取的時候只要改變Pagelndex引數就可以了
爬蟲代碼
匯入相關工具
import requests import time import csv
請求網頁
url = 'https://www.cpajia.com/index.php?m=index&a=search' data = { 'PageIndex': '{}'.format(page) } headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36' } response = requests.post(url=url, data=https://www.cnblogs.com/hhh188764/archive/2020/10/19/data, headers=headers)
決議網頁資料
dit = {} for i in lis: dit['名稱'] = i['title'] data_time = int(i['updatetime']) timeArray = time.localtime(data_time) otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray) dit['發布時間'] = otherStyleTime dit['單價/元'] = i['price'] dit['結算方式'] = i['balance'] dit['資料查看'] = i['dataview'] dit['電話'] = i['phone'] dit['微信'] = i['wxh'] dit['QQ'] = i['qq'] dit['產品要求'] = i['content']
保存資料
f = open('APP推廣資料.csv', mode='a', encoding='utf-8', newline='') csv_writer = csv.DictWriter(f, fieldnames=['名稱', '發布時間', '單價/元', '結算方式', '資料查看', '電話', '微信', 'QQ', '產品要求']) csv_writer.writeheader()
運行代碼,效果如下圖
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/180415.html
標籤:其他
上一篇:MATLAB實體:讀取Fashion MNIST資料,保存為.mat檔案,并展示部分樣例
下一篇:Django筆記:檔案上傳
