28.用配合scrapy的方式爬取本地保存的html

使用splash抓取js動態加載的網頁,輸出網頁源代碼,以html的格式保存到本地,然后編寫個py文件抓取自己想要的信息,又希望自己的抓取方式能夠復用到scrapy-splash爬蟲項目項目中。
可以使用下面的方式抓取本地的html文件:

# -*- coding: utf-8 -*-
# @AuThor  : frank_lee
from scrapy.selector import Selector
htmlfile = open("zfcaigou.html", 'r', encoding='utf-8')
htmlhandle = htmlfile.read()
pagedata = Selector(text=htmlhandle)
infodata = pagedata.css(".items p")
for infoline in infodata:
    city = infoline.css(".warning::text").extract()[0]
    issuescate = infoline.css(".warning .limit::text").extract()[0]
    title = infoline.css("a .underline::text").extract()[0]
    publish_date = infoline.css(".time::text").extract()[0]
    print(city+issuescate+publish_date)

首先說下網頁源代碼的獲?。?br> 下面這張圖,對于已經安裝splash的童鞋應該不陌生,在1處輸入想要抓取的動態網頁的網址,點一下2處。



稍等片刻,網頁的返回結果就會呈現出渲染截圖、HAR加載統計數據和網頁的源代碼。




將上圖中方框內網頁源代碼保存到本地HTML文件里,用瀏覽器打開就可以像正常網頁一樣對其分析,抓取。如果覺得上面方式不夠高級,配置一下scrapy的settings文件,和spiders下的文件只抓網頁也是可以的,像下面這樣,執行下,也會輸出網頁源代碼。
# -*- coding: utf-8 -*-
import scrapy
from scrapy_splash import SplashRequest


class ZfcaigouSpider(scrapy.Spider):
    name = 'zfcaigou'
    allowed_domains = ['www.zjzfcg.gov.cn']
    start_urls = ['http://www.zjzfcg.gov.cn/purchaseNotice/index.html?categoryId=3001']

    def start_requests(self):
        for url in self.start_urls:
            yield SplashRequest(url=url, callback=self.parse,
                                args={'wait': 1}, endpoint='render.html')

    def parse(self, response):
        print(response.body.decode("utf-8"))
        pass

下面這張圖片就是保存為html文件后 使用pycharm打開的,按下F12就可以對其進行分析了,使用文章開始處的代碼就可以將我們需要的信息通過本地的html文件輸出或保存。


?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 27,588評論 1 45
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,180評論 4 61
  • 惠風和暢 絲竹管弦 少長咸集 快然自足 游目騁懷 天朗氣清 流觴曲水 群賢畢至
    江南莫之閱讀 1,776評論 7 20
  • 看了一下已經兩天沒有寫日記了,感覺這個好不容易堅持了一個月的習慣要因為過年的種種事情放棄了,于是趕緊在睡前打開網頁...
    避風崗閱讀 146評論 0 0
  • 晴日落雪最妙 堪比十九世紀的良心 衣飾穿在夏天身上 是衣飾有福 不志于行 降噪耳機聽民謠 人流旋轉 紛紛飛到天上 ...
    孟小繁閱讀 208評論 0 0