您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python怎么爬取高質量超清壁紙”,在日常操作中,相信很多人在Python怎么爬取高質量超清壁紙問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python怎么爬取高質量超清壁紙”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Python 3.6
Pycharm
import requests import re import os
安裝Python并添加到環境變量,pip安裝需要的相關模塊即可。
如圖所示爬取里面的高清壁紙
所以只需要獲取這個鏈接就可以了爬取壁紙圖片了。
返回列表的可以發現,網頁是瀑布流加載方式,當你往下滑才會有數據出現。所以可以在下滑網頁的前,先打開開發者工具,當下滑網頁的時候新加載出來的數據會出現。
通過對比可以知道,這個數據包中包含了,壁紙圖片下載的地址。
需要注意的就是這個數據鏈接是post請求,并不是get請求
需要提交的data參數,就是對應的頁碼。
1、獲取圖片ID
for page in range(1, 11): url = 'https://wallpaper.wispx.cn/cat/%E5%8A%A8%E6%BC%AB' 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', 'x-requested-with': 'XMLHttpRequest', } data = { 'page': page } response = requests.post(url=url, headers=headers) result = re.findall('detail(.*?)target=', response.text) for index in result: image_id = index.replace('\\', '').replace('" ', '') page_url = f'https://wallpaper.wispx.cn/detail{image_id}'
2、獲取壁紙url地址,并保存
def main(page_url): html_data = get_response(page_url).text image_url = re.findall('<a class="mdui-ripple mdui-ripple-white" href="(.*?)">', html_data)[0] image_title = re.findall('<title>(.*?)</title>', html_data)[0].split(' - ')[0] image_content = get_response(image_url).content path = 'images\\' if not os.path.exists(path): os.makedirs(path) with open(path + image_title + '.jpg', mode='wb') as f: f.write(image_content) print('正在保存:', image_title)
需要注意的點:
請求頭里面要防盜鏈,不然就下載不了。
def get_response(html_url): header = { 'referer': 'https://wallpaper.wispx.cn/detail/1206', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36' } resp = requests.get(url=html_url, headers=header) return resp
到此,關于“Python怎么爬取高質量超清壁紙”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。