今天突然想換桌布,在網上找了一圈沒有找到滿意的,正好學了爬蟲,於是我就想把它們全都爬取下來,慢慢挑選。
這次爬取的目標是:彼岸圖網動漫桌布
接下來,我將詳細講解爬取過程:
首先點開**,右鍵–檢查 觀察原始碼資訊:
可以發現位址就是**的網域名稱加上上面的位址,接下來就是敲**的事了。
觀察可以發現總共134頁:
但為了保證**實用性,因為今天134頁,明天就有可能135,甚至136頁,所以首先提取桌布頁數,**如下:
# 啟始url
url =
''req = requests.get(url, headers=headers)
html = req.content.decode(
'gbk'
)# print(html)
tree = etree.html(html)
# 提取桌布頁數
num = tree.xpath(
'//div[@class="page"]/a[last() - 1]/text()')[
0]
接下來,得到所有頁數的url:
for i in
range
(int
(num)):
path =
'f:\\檔案\\高畫質桌布\\第{}頁\\'
.format
(i +1)
ifnot os.path.exists(path)
: os.makedirs(path)
# 改變當前工作目錄
os.chdir(path)
print(.
format
(i +1)
) img_url = url +
'index_{}.html'
.format
(i +1)
if i ==0:
img_url = url
# print(img_url)
這樣就可以對每一頁的url請求得到每一張的url:
r = requests.get(img_url, headers=headers)
html = r.content.decode(
'gbk'
) tree = etree.html(html)
# 鏈結
# 鏈結
img_list = tree.xpath(
'//div[@id="main"]/div[@class="slist"]/ul/li/a/img/@src'
)# print(img_list, len(img_list))
count =
1for img in img_list:
img =
''+ img
download(img, count)
count = count +
1def
main()
:# 啟始url
url =
''req = requests.get(url, headers=headers)
html = req.content.decode(
'gbk'
)# print(html)
tree = etree.html(html)
# 提取桌布頁數
num = tree.xpath(
'//div[@class="page"]/a[last() - 1]/text()')[
0]for i in
range
(int
(num)):
path =
'f:\\檔案\\高畫質桌布\\第{}頁\\'
.format
(i +1)
ifnot os.path.exists(path)
: os.makedirs(path)
# 改變當前工作目錄
os.chdir(path)
print(.
format
(i +1)
) img_url = url +
'index_{}.html'
.format
(i +1)
if i ==0:
img_url = url
# print(img_url)
# 獲取鏈結
get_img(img_url)
if __name__ ==
'__main__'
: main(
)
python 爬取王者榮耀高畫質桌布
位址如下 打過王者的童鞋一般都會喜歡裡邊設計出來的英雄吧,特別想把王者榮耀的英雄的高畫質當成電腦桌面 預覽一下桌面吧 問題簡單了就 api 返回情況,大致如下 是乙個jsonp callback的返回 這種情況一般是callback後邊對應了乙個json物件,我們可以用python的 json 類庫...
python3爬取高畫質桌布 2
上次只是爬取乙個 的,這次要爬取一整個頁面的所有 的。在上次的 的基礎上進行修改就行了,從 的索引頁面開始,爬取該頁面上所有的 的鏈結,再套用上次的 就行了。若要爬取多個頁面只需在外圍套上乙個迴圈就可以了。如下 import requests import refrom bs4 import bea...
Python 爬取高畫質桌面桌布
今天寫了乙個指令碼用來爬取zol桌面桌布 的高畫質 如下 coding utf 8 import urllib import re import time class spider baseurl pic index 0 itemgrouppic def init self,page count t...