當暴走漫畫gif圖片趕上Python爬蟲


這裏介紹的爬蟲是抓取暴走漫畫上的GIF趣圖,方便離線觀看。爬蟲用的是python3開發環境,主要用到了urllib、request和BeautifulSoup模塊。(這裏主要介紹下urllib和BeautifulSoup這兩個比較重要的模塊)html

  • urllib模塊


該模塊提供了從萬維網中獲取數據的高層接口,當咱們用urlopen()打開一個URL時,就至關於使用Python內設的open()打開一個文件。但不一樣的是,urlopen()接收一個URL做爲參數,而且操做的是socket,因此沒有辦法對打開的文件流進行seek操做,而Python內設的open()接收的是一個本地文件名。python

  • BeautifulSoup模塊


這個模塊能夠幫助你實現HTML和XML的解析,通常寫網頁爬蟲,步驟抓取網頁的html源碼等內容,而後分析,提取相應的內容。在分析內容時也能夠用正則表達式去匹配,只是若是解析的內容稍微複雜點就會很頭疼,使用BeautifulSoup模塊去實現分析html源碼的工做,就會變得十分簡單,極大地提升了分析html源碼的效率。正則表達式

爬蟲源代碼

1、經過模擬瀏覽器訪問網站網頁爬蟲

import urllib.request
import bs4,os
 
page_sum = 1 # 下載頁數設置,這裏使用頁數爲1
 
path = os.getcwd()
path = os.path.join(path,'暴走GIF文件夾')
if not os.path.exists(path):
 os.mkdir(path) #建立文件夾
 
url = "http://baozoumanhua.com/gif/year" # 此處輸入的是暴走漫畫GIF網頁的url地址
headers = { 
 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)'
 ' Chrome/32.0.1700.76 Safari/537.36'
 }
 
複製代碼

2、經過爬蟲獲取圖片信息及信息的整理解析瀏覽器

for count in range(page_sum):
 req = urllib.request.Request(
 url = url+str(count+1),
 headers = headers
 )
 print(req.full_url)
 content = urllib.request.urlopen(req).read()

 soup = bs4.BeautifulSoup(content) # BeautifulSoup
 img_content = soup.findAll('img',attrs={'style':'width:460px'})
 url_list = [img['src'] for img in img_content] # 列表推導 url
 title_list = [img['alt'] for img in img_content] # 圖片名稱
複製代碼

3、圖片文件的格式化和圖片的下載python爬蟲

for i in range(url_list.__len__()) :
 imgurl = url_list[i] # 經過迭代的方法獲取圖片的url
 filename = path + os.sep +title_list[i] + ".gif" # 格式化命名GIF圖片文件
 print(filename+":"+imgurl) #打印下載信息,便於觀察下載進度
 urllib.request.urlretrieve(imgurl,filename) #下載圖片
複製代碼

將此文件保存爲pabaozougif.py,使用命令python pabaozougif.py運行後在同目錄下會生成「暴走GIF文件夾」的文件夾,全部的GIF圖片會自動下載保存到該目錄下。socket

print('Python學習羣')
# 908-382-745複製代碼

以上所述是小編給你們介紹的python爬蟲代碼分析,但願對你們有所幫助。看到這裏各位迷茫的朋友是否是對python有了必定的瞭解了呢,感興趣的同窗能夠加下小編的python學習羣,小編蒐集了一套0基礎系統性學習Python語言的資料,若是各位對Python語言感興趣的話能夠加裙便可免費領取一套學習資料哦!!!!

相關文章
相關標籤/搜索