Python爬蟲入門案例教學:批量爬取彼岸桌面4K超清美女壁紙


先圖片開路

環境介紹

  • python 3.6 / 3.8
  • pycharm 編輯器
  • requests
  • parsel
  • os 文件操作
    在cmd里面就可以進行安裝 pip install requests

無論是爬取那個網站 什么數據 都是可以按照這個流程去分析

一. 數據來源分析

1. 確定爬取的東西?

網址: 彼岸壁紙
網站數據: 壁紙圖片

2. 壁紙圖片 數據是來自於哪里

通過瀏覽器上面 開發者工具(F12/鼠標右鍵點擊檢查選擇network)進行抓包分析
I. 需要所有圖片的 ID
II. 獲取圖片ID之后, 才請求圖片詳情頁url地址
III. 獲取圖片地址 以及 圖片標題

如果你不知道數據來源, 就沒法進行爬取

 

【付費VIP完整版】只要看了就能學會的教程,80集Python基礎入門視頻教學

 

二. 代碼實現的過程: 確定需求(查詢數據來源分析) >>> 發送請求 >>> 獲取數據 >>> 解析數據 >>> 保存數據

  1. 發送請求 對於圖片列表頁發送請求
  2. 獲取數據 獲取網頁源代碼
  3. 解析數據 提取圖片ID
  4. 發送請求 把獲取到的圖片ID 出入圖片詳情頁url中
  5. 解析數據 提取圖片地址 以及 圖片標題
  6. 保存數據
  7. 多頁爬取

1. 發送請求 對於圖片列表頁發送請求

url = f'http://www.netbian.com/meinv/index_{page}.htm'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'
}
response = requests.get(url=url, headers=headers)

 

<Response [200]> <> python里面表示的是對象 返回的是response對象(響應體對象)
200 狀態碼 表示請求成功

2. 獲取數據 獲取網頁源代碼 >>>> 獲取響應體的文本數據(字符串類型)

# 它給返回的數據 出現了亂碼 >>> 轉碼
response.encoding = response.apparent_encoding # 自動識別編碼
print(response.text) # html字符串數據

 

3. 解析數據 提取圖片ID 解析數據方式: re正則正則表達式 css選擇器 xpath

re正則正則表達式 可以對於字符串數據內容直接提取
css選擇器 xpath 都是根據標簽屬性內容提取數據

img_ids = re.findall('<li><a href="/desk/(\d+).htm" title', response.text)
# 正則表達式匹配出來的數據內容 返回的是列表  列表里面每一個元素都是圖片id

for img_id in img_ids:
    # 構建壁紙詳情頁的url地址
    # 字符串格式化方法 format()
    link_url = f'http://www.netbian.com/desk/{img_id}-1920x1080.htm'
    print(link_url)

 

4. 發送請求 把獲取到的圖片ID 出入圖片詳情頁url中

response_1 = requests.get(url=link_url, headers=headers)
selector = parsel.Selector(response_1.text)

 

5. 解析數據 提取圖片地址 以及 圖片標題

img_url = selector.css('#endimg img::attr(src)').get()
title = selector.css('#endimg img::attr(title)').get()
print(response_1.text)

 

6. 保存數據

img_content = requests.get(url=img_url, headers=headers).content
with open('img\\' + title + '.jpg', mode='wb') as f:
    f.write(img_content)
    print(title, img_url)

 

7 .翻頁爬取

for page in range(2, 11):
    print(f'正在爬取第{page}頁的數據內容')

 

 

最后運行完整代碼

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM