# encoding = utf-8
import concurrent
import os
from concurrent.futures import ThreadPoolExecutor
import requests
from bs4 import BeautifulSoup
def header(referer):
headers = {
'Host': 'i.meizitu.net',
'Pragma': 'no-cache',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.8,en;q=0.6',
'Cache-Control': 'no-cache',
'Connection': 'keep-alive',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36',
'Accept': 'image/webp,image/apng,image/*,*/*;q=0.8',
'Referer': '{}'.format(referer),
}
return headers
def request_page(url):
try:
response = requests.get(url)
if response.status_code == 200:
return response.text
except requests.RequestException:
return None
def get_page_urls():
for i in range(1, 2):
baseurl = 'https://www.mzitu.com/page/{}'.format(i)
html = request_page(baseurl)
soup = BeautifulSoup(html, 'lxml')
list = soup.find(class_='postlist').find_all('li')
urls = []
for item in list:
url = item.find('span').find('a').get('href')
print('頁面鏈接:%s' % url)
urls.append(url)
return urls
def download_Pic(title, image_list):
# 新建文件夾
os.mkdir(title)
j = 1
# 下載圖片
for item in image_list:
filename = '%s/%s.jpg' % (title, str(j))
print('downloading....%s : NO.%s' % (title, str(j)))
with open(filename, 'wb') as f:
img = requests.get(item, headers=header(item)).content
f.write(img)
j += 1
def download(url):
html = request_page(url)
soup = BeautifulSoup(html, 'lxml')
total = soup.find(class_='pagenavi').find_all('a')[-2].find('span').string
title = soup.find('h2').string
image_list = []
for i in range(int(total)):
html = request_page(url + '/%s' % (i + 1))
soup = BeautifulSoup(html, 'lxml')
img_url = soup.find('img').get('src')
image_list.append(img_url)
download_Pic(title, image_list)
def download_all_images(list_page_urls):
# 獲取每一個詳情妹紙
# works = len(list_page_urls)
with concurrent.futures.ProcessPoolExecutor(max_workers=5) as exector:
for url in list_page_urls:
exector.submit(download, url)
if __name__ == '__main__':
# 獲取每一頁的鏈接和名稱
list_page_urls = get_page_urls()
download_all_images(list_page_urls)
爬圖片
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吓蘑,“玉大人惕虑,你說我怎么就攤上這事∧ハ猓” “怎么了溃蔫?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長棋嘲。 經(jīng)常有香客問我酒唉,道長,這世上最難降的妖魔是什么沸移? 我笑而不...
- 正文 為了忘掉前任痪伦,我火速辦了婚禮,結(jié)果婚禮上雹锣,老公的妹妹穿的比我還像新娘网沾。我一直安慰自己,他們只是感情好蕊爵,可當(dāng)我...
- 文/花漫 我一把揭開白布辉哥。 她就那樣靜靜地躺著,像睡著了一般攒射。 火紅的嫁衣襯著肌膚如雪醋旦。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼滥搭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了捣鲸?” 一聲冷哼從身側(cè)響起瑟匆,我...
- 正文 年R本政府宣布啊片,位于F島的核電站只锻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏紫谷。R本人自食惡果不足惜齐饮,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望笤昨。 院中可真熱鬧祖驱,春花似錦、人聲如沸瞒窒。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽崇裁。三九已至匕坯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拔稳,已是汗流浹背葛峻。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- date: 2016-12-12 18:49:28 一选侨、HTTP協(xié)議 HTTP是Hyper Text Transf...
- python爬蟲爬圖片 爬蟲爬baidu圖片 第一步 載入爬蟲模塊 第二步 創(chuàng)建session對象 第三步 獲得發(fā)...
- Python爬取妹子圖片 Python爬取招聘信息 Python爬蟲之抓取豆瓣電影Top250 1.觀察網(wǎng)頁結(jié)構(gòu)首...