上次只是爬取乙個**的,這次要爬取一整個頁面的所有**的。
在上次的**的基礎上進行修改就行了,從**的索引頁面開始,爬取該頁面上所有的**的鏈結,再套用上次的**就行了。
若要爬取多個頁面只需在外圍套上乙個迴圈就可以了。
**如下:
importrequests
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...