1. 程式人生 > >單頁爬蟲 翻頁不能

單頁爬蟲 翻頁不能

爬了一頁圖,很順利。最最基礎的,這網頁沒加密,重新命名儲存。

#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結果只實現了爬取兩頁。憤。暫時擱置。 初學還是弄成功案例吧