python3爬取高畫質桌布 2

2021-09-03 06:59:13 字數 1738 閱讀 1516

上次只是爬取乙個**的,這次要爬取一整個頁面的所有**的。

在上次的**的基礎上進行修改就行了,從**的索引頁面開始,爬取該頁面上所有的**的鏈結,再套用上次的**就行了。

若要爬取多個頁面只需在外圍套上乙個迴圈就可以了。

**如下:

import

requests

import

refrom bs4 import

beautifulsoup

importos#

爬取的**:

defget_image_url(url):

#傳入頁面的url,得到所有所在的標籤和圖冊的名字,並返回

res =requests.get(url)

soup = beautifulsoup(res.text,'

lxml')

name = soup.select('h1'

)[0].string

tag = '

img[title=\"

' + name + '

\"]'

image =soup.select(tag)

return

image,name

defdownload_image(image_url):

#傳入的url,將儲存在本地

image = requests.get(image_url,stream=true)

# name = image_url.split('

/')[-1]

#白村with open(name,'wb'

) as f:

f.write(image.content)

defget_index_image(url):

res =requests.get(url)

reg = r'

'reg =re.compile(reg)

image =re.findall(reg,res.text)

image =set(image)

image = [i for i in image if len(i) > 49]

return

image

defmain(url):

#主調函式

#url = ""

[image,name] =get_image_url(url)

#print(name,image)

#儲存當前目錄

path =os.getcwd()

#建立儲存的目錄

if (not

os.path.exists(name)):

os.mkdir(name)

os.chdir(path + '

/' +name)

for i in

image:

download_image(i[

'src'])

#返回之前的目錄

os.chdir(path)

print(name+'\n'

)

else

:

print(name + "")

if__name__ == '

__main__':

main_url = "

"url =get_index_image(main_url)

for u in

url:

main(u)

print("

")

python 爬取王者榮耀高畫質桌布

位址如下 打過王者的童鞋一般都會喜歡裡邊設計出來的英雄吧,特別想把王者榮耀的英雄的高畫質當成電腦桌面 預覽一下桌面吧 問題簡單了就 api 返回情況,大致如下 是乙個jsonp callback的返回 這種情況一般是callback後邊對應了乙個json物件,我們可以用python的 json 類庫...

Python爬蟲爬取高畫質桌布 多執行緒2

在這裡附上執行的結果圖 列表用來存放所有的url q queue.queue headers defdownload while true 判斷執行緒1是否存活 ifnot t1.is alive 判斷佇列是否為空 if q.empty break url,name,i q.get path dow...

Python 爬取高畫質桌面桌布

今天寫了乙個指令碼用來爬取zol桌面桌布 的高畫質 如下 coding utf 8 import urllib import re import time class spider baseurl pic index 0 itemgrouppic def init self,page count t...