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)

首先说下网页源代码的获取:
下面这张图,对于已经安装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,969评论 1 45
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,194评论 4 61
  • 惠风和畅 丝竹管弦 少长咸集 快然自足 游目骋怀 天朗气清 流觞曲水 群賢畢至
    江南莫之阅读 5,758评论 7 20
  • 看了一下已经两天没有写日记了,感觉这个好不容易坚持了一个月的习惯要因为过年的种种事情放弃了,于是赶紧在睡前打开网页...
    避风岗阅读 988评论 0 0
  • 晴日落雪最妙 堪比十九世纪的良心 衣饰穿在夏天身上 是衣饰有福 不志于行 降噪耳机听民谣 人流旋转 纷纷飞到天上 ...
    孟小繁阅读 1,430评论 0 0