爬取百度贴吧图片
本次文章內(nèi)容是爬取貼吧圖片,希望對大家有所幫助
使用環(huán)境:我用的是python2.7.9
在Python 3以后的版本中,urllib2這個模塊已經(jīng)不單獨(dú)存在(也就是說當(dāng)你import urllib2時,系統(tǒng)提示你沒這個模塊),urllib2被合并到了urllib中。
- urllib2.urlopen()變成了urllib.request.urlopen()
- urllib2.Request()變成了urllib.request.Request()
如果有的用的是python3以后的版本,記得改一下哦
一、 獲取要爬取的貼吧的網(wǎng)址
打開瀏覽器,找到我們想爬取的貼吧,獲取其網(wǎng)址
二、 獲取頁面源代碼
利用下面函數(shù)來獲取源代碼
def gethtml(url):page = urllib.urlopen(url)html = page.read()return html三、匹配的圖片地址
首先,我們打開第一步的網(wǎng)址,右擊審查元素,在審查元素中找到圖片的地址,觀察其地址的格式
這里,我匹配的是bpic等于的那個網(wǎng)址,從這我們可以看到圖片的地址是以.jpg結(jié)尾,利用正則進(jìn)行匹配
reg = r'bpic="(.*?\.jpg).*?pic'這里括號所括住的部分,正是我們所需要的地址
- (.*?)是進(jìn)行最小匹配,是非貪婪模式
- \ 是轉(zhuǎn)義字符
四、保存圖片至本地
存入本地
urllib.urlretrieve(imgurl, '%s.jpg' % x)或者可以存至自己新建的文件夾
f = open('tupian/'+str(x)+'.jpg', 'wb') f.write((urllib2.urlopen(imgurl)).read()) f.close()五、完整代碼呈現(xiàn)
代碼中有中文時,完整添加的是 # - * - coding:utf-8 - * -
#coding:utf8只是簡寫
此程序中,共用到三個庫:
- import re
- import urllib
- import urllib2
結(jié)果呈現(xiàn)
以上就是爬取貼吧圖片的全部過程
總結(jié)
- 上一篇: 无法找到模块“vue-contextme
- 下一篇: 学生信息管理系统删除最后一条记录报错30