前言
開發環境
- Python 3.8
- Pycharm
模塊使用
- requests >>> pip install requests 資料請求
- parsel >>> pip install parsel 決議模塊 (提取資料)
對于本篇文章有疑問的同學可以加【資料白嫖、解答交流群:910981974】
基本流程:
一. 資料來源分析
爬取網站是什么,想要獲取網站什么樣資料內容比如爬取圖片,從一張圖片去分析
通過開發者工具進行抓包分析, 對比我們想要圖片url地址一些引數
二. 代碼實作步驟:
- 發送請求, 對于分析得到url地址發送請求
請求網址
請求方式
請求頭引數 >>> 偽裝 可以把python代碼偽裝成瀏覽器(客戶端)發送請求
如果不進行偽裝會有什么后果 >>> 不會給你回傳你想要資料 - 獲取資料, 獲取response服務器回傳回應資料
- 決議資料, 提取我們想要資料內容 圖片url地址 以及 圖片標題
- 保存資料, 把圖片資料保存到本地
完整代碼
1. 發送請求
headers 請求頭引數, 可以開發者工具里面直接進行復制, 其次headers字典資料型別, 鍵值對
user-agent: 用戶代理 表示瀏覽器基本身份標識
cookie: 用戶資訊, 檢測用戶是否有登陸賬號
for page in range(2, 11): url = f'https://sj.enterdesk.com/woman/{page}.html' headers = { 'cookie': 't=f2cf055ce8713058cbfdbd1561c38e86; r=1281; Hm_lvt_86200d30c9967d7eda64933a74748bac=1645625923,1646892448; Hm_lpvt_86200d30c9967d7eda64933a74748bac=1646894465', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36' } response = requests.get(url=url, headers=headers) # <Response [200]> 回傳回應物件 200狀態碼標識請求成功
2. 獲取資料
獲取服務器回傳資料內容,獲取回應物件文本資料
print(response.text)
3. 決議資料
selector = parsel.Selector(response.text) src = selector.css('.egeli_pic_li .egeli_pic_dl dd a img::attr(src)').getall() alt = selector.css('.egeli_pic_li .egeli_pic_dl dd a img::attr(alt)').getall() for img_url, title in zip(src, alt): img_url = img_url.replace('edpic_360_360', 'edpic_source')
4. 保存資料
img_content = requests.get(url=img_url, headers=headers).content # 獲取二進制資料內容 with open('img\\' + title + '.jpg', mode='wb') as f: f.write(img_content) print(img_url, title)
效果演示

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/443450.html
標籤:Python
上一篇:貪吃蛇專案的制作
