我的結(jié)果:
Talor Swift
我的代碼:
from bs4 import BeautifulSoup
import requests, urllib.request
import time, os
# 收納圖片地址
img_url = []
# 目標(biāo)網(wǎng)頁,20頁
urls = ['http://weheartit.com/inspirations/taylorswift?page={}&before=253730307'.format(str(i)) for i in range(1, 21)]
#解析網(wǎng)頁赔嚎,獲取圖片地址膘盖,返回列表
def get_img_urls(url):
time.sleep(5)
web_data = requests.get(url)
soup = BeautifulSoup(web_data.text, 'lxml')
imgs = soup.select('div[id="main-container"] > div:nth-of-type(2) > div > div > div > div > a > img')
for img in imgs:
img = img.get('src')
img_url.append(img)
return img_url
# 下載圖片
def img_retrieve(item):
# 新建路徑
if not os.path.exists(r'C:/Users/Administrator/desktop/Taylor_Switf/'):
os.mkdir(r'C:/Users/Administrator/desktop/Taylor_Switf/')
item_path = 'C:/Users/Administrator/desktop/Taylor_Switf/'
# 下載圖片,用序號命名
urllib.request.urlretrieve(item, item_path + item[-14:].replace('superthumb',str(img_url.index(item))))
#起點
for url in urls:
get_img_urls(url)
for item in img_url:
img_retrieve(item)
我的感想:
- 用時兩個小時十五分鐘
- 關(guān)于網(wǎng)站(weheartit.com/)我想說:
群里有人說需要代理才能爬尤误,但是我沒用侠畔,而且之前很多人反映網(wǎng)站速度慢,但我今天卻很快损晤。不知道發(fā)生了什么软棺,也許改版了?
當(dāng)我在檢查網(wǎng)頁結(jié)構(gòu)的時候尤勋,我發(fā)現(xiàn)圖片都是webp格式的:
- webp格式
但是我爬取出來的數(shù)據(jù)卻是全部都是superthumb.jpg:
- superthumb.jpg
不知道發(fā)生了什么喘落。
- 關(guān)于
代碼
我想說:
- 我的select語句用很長茵宪,別人的很短,如:'img[class="entry_thumbnail"]
- 關(guān)于文件夾路徑瘦棋,使用 import os稀火。
檢查路徑存在:os.path.exists
建立路徑:os.mkdr/os.mkdirs
- 其實每次爬蟲運行的過程都感覺挺驚險的。希望能快快進(jìn)步赌朋。