由于斷斷續(xù)續(xù)的學(xué)習(xí)python,知識(shí)整理不夠系統(tǒng)惰蜜,一點(diǎn)一點(diǎn)堆積學(xué)習(xí)腳印吧昂拂。
昨天想著做一個(gè)小爬蟲(chóng)下載一下圖片什么的,然后就找了點(diǎn)資料做了這個(gè)demo抛猖。
1.創(chuàng)建python程序
用編譯器創(chuàng)建一個(gè)程序即可格侯,我這里用的是pycharm
2.創(chuàng)建py文件,開(kāi)始擼代碼
#引入的包
# -*- coding: UTF-8 -*-
import urllib
import urllib.request
import re
如果你的環(huán)境沒(méi)有集成request财著,使用命令pip install requests進(jìn)行下載安裝或者搜索一下進(jìn)行下載安裝联四,安裝完成之后如果還有報(bào)錯(cuò)注意配置一下開(kāi)發(fā)環(huán)境,步驟如下
還需要配置
#獲取html
def loadPage(url,filename):
??? request = urllib.request.Request(url)
??? html1 = urllib.request.urlopen(request).read()
??? return html1.decode('utf-8')
#寫(xiě)入本地
def writePage(html,filename):
? ? with open(filename,'w')as f:
????????f.write(html)
#負(fù)責(zé)處理每一個(gè)頁(yè)面url
def tiebaSpider(url,beginPage,endPage):
????for page in range(beginPage,endPage+1):
????????pn = (page -1)*50
????????fullurl = url+"&pn"+str(pn)
????????print (fullurl)
????????filename ='第' +str(page) +'頁(yè).html'
????????html = loadPage(url,filename)
????????writePage(html,filename)
????????getImg(html)
#下載圖片
def getImg(html):
? ? reg =r'src="(http://imgsrc.*?\.jpg)"'
? ? imgre = re.compile(reg)
????imglist = re.findall(imgre,html)
????x =0
? ? for imgurl in imglist:
????????urllib.request.urlretrieve(imgurl,'%s.jpg' % x)
????????x+=1
????print ('*' *30)
#入口函數(shù)
if __name__ =="__main__":
????kw =input('請(qǐng)輸入你需要爬取的貼吧名:')
????beginPage =int(input('請(qǐng)輸入起始頁(yè)'))
????endPage =int(input('請(qǐng)輸入結(jié)束頁(yè)'))
????url ='https://tieba.baidu.com/f?'
????kwl = {'kw':kw}
????key = urllib.parse.urlencode(kwl)
????fullurl = url+key
????tiebaSpider(fullurl,beginPage,endPage)
然后就美滋滋的看圖吧撑教,鏈接可以換成你想要的其他鏈接朝墩,但是要注意分析html中的元素。需要一點(diǎn)點(diǎn)前端知識(shí)伟姐,可以自行查詢資料或者一起交流討論哈
菜鳥(niǎo)走向大牛收苏,大家共同前進(jìn),如果覺(jué)得不錯(cuò)愤兵,請(qǐng)給個(gè)贊/關(guān)注鹿霸。
一起交流學(xué)習(xí),有問(wèn)題隨時(shí)歡迎聯(lián)系秆乳,郵箱:383708669@qq.com