前言
總所周知, p站是日本知名的虛擬社區, 聚集了眾多來自日本, 中國, 韓國, 美國等國家的優秀藝術家。他們在p站上相互交流, 分享高清優秀插畫, 是一個正經的網站
- python 3.8 – anaconda 安裝了一些模塊 / 自動的 配置環境變量
- pycharm 2021專業版 >>> 激活碼
- requests >>> pip install requests
- parsel >>> pip install parsel
import requests # 發送網絡請求的模塊 import parsel # 提取數據 import re
url_1 = 'https://www.acg-pixiv.com/tags/450.html' response_1 = requests.get(url_1)
data_html_1 = response_1.text
selector = parsel.Selector(data_html_1) # 提取鏈接 屬性內容 @屬性名稱 css xpath re href_list = selector.xpath('/html/body/div/div[1]/ul/li/a/@href').getall() title_list = selector.xpath('/html/body/div/div[1]/ul/li/a/@title').getall()
for info in zip(href_list, title_list): # 索引取值 元組 url_2 = 'https://www.acg-pixiv.com' + info[1]
# content? 獲取二進制數據 response_2 = requests.get(url_2).text
selector_2 = parsel.Selector(response_2) # 圖片鏈接 url = selector_2.xpath('/html/body/div/div[1]/div[1]/div/img[1]/@src').get() print(url)
# 當這個程序報錯的時候 try: img_data = requests.get(img_url, timeout=5).content except: # 圖片鏈接改一下 img_url = img_url.replace('800', '400') img_data = requests.get(img_url).content
title = re.sub(r'[\\/:*?"<>|]', '_', info[1])
print(f'---------正在爬取{title}---------') with open(f'img/{title}.jpg', mode='wb') as f: f.write(img_data)