小爬虫
爬蟲一般在網頁Post里找數據,注意大部分網頁都已經反爬,會出現主要對象加密的問題,比如百度翻譯就影藏了輸入的內容,有道翻譯進行了MD5加密,不過廣大網友是給力,只要把網址里的_o去掉就又可以了
參考小甲魚的實例,我試著爬了下百度貼吧的圖片,還挺方便.
import urllib.request
import re
def open_url(url):
req=urllib.request.Request(url)
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36')
page= urllib.request.urlopen(req)
html =page.read().decode('utf-8')
return html
def get_img(html):
p=r'<img class="BDE_Image" src="([^"]+\.jpg)"' #findall會自動找出( )內的內容
imglist=re.findall(p,html)
#for each in imglist:
#print(each)
for each in imglist:
filename=each.split('/')[-1] #把要存儲的文件名分割出來
urllib.request.urlretrieve(each,filename,None)
if __name__=='__main__':
url = 'https://tieba.baidu.com/p/6055466318'
get_img(open_url(url))
總結