python爬蟲圖片抓取
㈠ 如何用python做爬蟲
在我們日常上網瀏覽網頁的時候,經常會看到一些好看的圖片,我們就希望把這些圖片保存下載,或者用戶用來做桌面壁紙,或者用來做設計的素材。
我們最常規的做法就是通過滑鼠右鍵,選擇另存為。但有些圖片滑鼠右鍵的時候並沒有另存為選項,還有辦法就通過就是通過截圖工具截取下來,但這樣就降低圖片的清晰度。好吧其實你很厲害的,右鍵查看頁面源代碼。
我們可以通過python來實現這樣一個簡單的爬蟲功能,把我們想要的代碼爬取到本地。下面就看看如何使用python來實現這樣一個功能。
㈡ 如何用Python爬取數據
方法/步驟
在做爬取數據之前,你需要下載安裝兩個東西,一個是urllib,另外一個是python-docx。
7
這個爬下來的是源代碼,如果還需要篩選的話需要自己去添加各種正則表達式。
㈢ 如何用python實現爬取微博相冊所有圖片
三種方案:
1.直接用Python的requests庫直接爬取,不過這個需要手動做的事情就比較多了,基本上就看你的Python功力了
2.使用scrapy爬蟲框架,這個框架如果不熟悉的話只能自己先去了解下這個框架怎麼用
3.使用自動測試框架selemium模擬登錄操作,及圖片爬取,這個對於大多數會點Python編碼的人來說是最好的選擇了,他比較直觀的能看到怎麼去獲取數據
每種方案的前提都是你必須有一定基礎的編碼能力才行,不是隨便一個人就能用的
㈣ Python爬蟲爬取圖片這個報錯怎麼處理
你好!你的錯誤原因在於html頁面獲取到的img標簽src屬性中的鏈接,可能是因為src中的url格式是這樣的:
<imgsrc="//hao123.com/xxx/xxx/xxx/"></img>
這樣獲取到的鏈接都沒有帶上協議:http或者https。而導致程序拋出ValueError的錯誤異常。
因為正常的url格式應該類似這樣的:https://www..com/
即 協議://用戶名:密碼@子域名.域名.頂級域名:埠號/目錄/文件名.文件後綴?參數=值#標志
參考網頁鏈接
可將代碼中第一個for循環中download_links.append修改為:
forpic_taginsoup.find_all('img'):
pic_link=pic_tag.get('src')
download_links.append('http:'+pic_link)
㈤ python 爬取圖片,沒有後綴名
首先你要安裝Pillow這個庫,它可以幫助你獲取這個圖片的類型。
importcStringIO,urllib2,time
fromPILimportImage
url='http://mmbiz.qpic.cn/mmbiz/KrBnGnvYojpichqTUY5X3g/0'
req=urllib2.urlopen(url)
data=req.read()
tmpIm=cStringIO.StringIO(data)
im=Image.open(tmpIm)
tm='%s.%s'%(int(time.time()),im.format.lower())
withopen(tm,'wb')asfp:
fp.write(data)
給分吧,哈啊哈。
如果解決了您的問題請採納!
如果未解決請繼續追問!
㈥ linux下python怎麼寫爬蟲獲取圖片
跟linux有什麼關系,python是跨平台的,爬取圖片的代碼如下:
import urllib.requestimport osimport randomdef url_open(url):
req=urllib.request.Request(url) #為請求設置user-agent,使得程序看起來更像一個人類
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0') #代理IP,使用戶能以不同IP訪問,從而防止被伺服器發現
'''iplist=['1.193.162.123:8000','1.193.162.91:8000','1.193.163.32:8000']
proxy_support=urllib.request.ProxyHandler({'http':random.choice(iplist)})
opener=urllib.request.build_opener(proxy_support)
opener.addheaders=[('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER')]
urllib.request.install_opener(opener)'''
response=urllib.request.urlopen(req)
html=response.read() return htmldef get_page(url):
html=url_open(url).decode('utf-8')
a=html.find('current-comment-page')+23
b=html.find(']',a) #print(html[a:b])
return html[a:b]def find_imgs(url):
html=url_open(url).decode('utf-8')
img_addrs=[]
a=html.find('img src=') while a!=-1:
b=html.find('.jpg',a,a+140) if b!=-1: if html[a+9]!='h':
img_addrs.append('http:'+html[a+9:b+4]) else:
img_addrs.append(html[a+9:b+4]) else:
b=a+9
a=html.find('img src=',b) for each in img_addrs:
print(each+'我的列印') return img_addrsdef save_imgs(folder,img_addrs):
for each in img_addrs: #print('one was saved')
filename=each.split('/')[-1] with open(filename,'wb') as f:
img=url_open(each)
f.write(img)def download_mm(folder='ooxx',pages=10):
os.mkdir(folder)
os.chdir(folder)
url=""
page_num=int(get_page(url)) for i in range(pages):
page_num=page_num-1
page_url=url+'page-'+str(page_num)+'#comments'
img_addrs=find_imgs(page_url)
save_imgs(folder,img_addrs)if __name__=='__main__':
download_mm()
完成
運行結果
㈦ Python如何爬取百度圖片
幾乎所有的網站都會有反爬機制,這就需要在爬取網頁時攜帶一些特殊參數,比如:user-agent、Cookie等等,可以在寫代碼的時候用工具將所有參數都帶上。