單頁爬蟲 翻頁不能
阿新 • • 發佈:2018-12-17
爬了一頁圖,很順利。最最基礎的,這網頁沒加密,重新命名儲存。
#coding:utf-8 import urllib.request import re import os import urllib def getHtml(url): page = urllib.request.urlopen(url) html = page.read() return html.decode('UTF-8') #https://imgsa.baidu.com/forum/w%3D580/sign=3b5751825882b2b7a79f39cc01accb0a/9ac37d1ed21b0ef481c651d8dcc451da81cb3e0f.jpg def getImg(html): reg = r'src="(.+?\.jpg)" alt' imgre = re.compile(reg) imglist = imgre.findall(html) x = 0 path = 'D:\\test' if not os.path.isdir(path): os.makedirs(path) paths = path+'\\' #?????est·??? for imgurl in imglist: urllib.request.urlretrieve(imgurl,'D:\\test\\%s.jpg' % x) # x = x + 1 return imglist html = getHtml("http://www.xmeim.com/photos/TouTiao-191200.html") print (getImg(html))
爬蟲翻頁問題 爬蟲翻頁應該是沒有通用的翻頁方法的,一般都需要靠分析頁面結構來獲取下一頁的請求連結或者分析URL連結的規律來進行翻頁的。
據我所知前嗅有一款軟體叫ForeSpider就是支援翻頁效果的。webmagic國內開源的就可以. 用正則,然後入庫。 列表獲取連結和title,然後根據抓取連結獲取文章頁的內容。總共有多少頁,迴圈多少次。 開源中國的問答。不過我現在是練習,不用新工具了。
page = 1 while page<5: url = 'http://www.qiushibaike.com/hot/page/'+str(page+1) page=page+1 user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' headers = { 'User-Agent' : user_agent } 我加了個迴圈但是還是不行,無法抓取
兩種思路: A。root_url→urls→每一頁的img_url→爬取 B。root_url→root_urls→全部的img_url→爬取 弄了個for if結果只實現了爬取兩頁。憤。暫時擱置。 初學還是弄成功案例吧