分享
  1. 首页
  2. 主题
  3. 爬虫系列

爬虫开发知识入门基础(2)

laical · · 4527 次点击 · 开始浏览 置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

1、爬虫解析 对于解析来说,对于 HTML 类型的页面来说,常用的解析方法其实无非那么几种,正则、XPath、CSS Selector,另外对于某些接口,常见的可能就是 JSON、XML 类型,使用对应的库进行处理即可。 这些规则和解析方法其实写起来是很繁琐的,如果我们要爬上万个网站,如果每个网站都去写对应的规则,那么不就太累了吗?所以智能解析便是一个需求。 智能解析意思就是说,如果能提供一个页面,算法可以自动来提取页面的标题、正文、日期等内容,同时把无用的信息给刨除,例如上图,这是 Safari 中自带的阅读模式自动解析的结果。 对于智能解析,下面分为四个方法进行了划分: • readability 算法,这个算法定义了不同区块的不同标注集合,通过权重计算来得到最可能的区块位置。 • 疏密度判断,计算单位个数区块内的平均文本内容长度,根据疏密程度来大致区分。 • Scrapyly 自学习,是 Scrapy 开发的组件,指定⻚页面面和提取结果样例例,其可自自学习提取规则,提取其他同类⻚页面面。 • 深度学习,使用用深度学习来对解析位置进行行行有监督学习,需要大大量量标注数据。 如果能够容忍一定的错误率,可以使用智能解析来大大节省时间。 目前这部分内容我也还在探索中,准确率有待继续提高。 2、储存 存储,即选用合适的存储媒介来存储爬取到的结果,这里还是分为四种存储方式来进行介绍。 • 文件,如 JSON、CSV、TXT、图片、视频、音频等,常用的一些库有 csv、xlwt、json、pandas、pickle、python-docx 等。 • 数据库,分为关系型数据库、非关系型数据库,如 MySQL、MongoDB、HBase 等,常用的库有 pymysql、pymssql、redis-py、pymongo、py2neo、thrift。 • 搜索引擎,如 Solr、ElasticSearch 等,便于检索和实现文本匹配,常用的库有 elasticsearch、pysolr 等。 • 云存储,某些媒体文件可以存到如七牛牛云、又拍云、阿里云、腾讯云、Amazon S3 等,常用的库有 qiniu、upyun、boto、azure-storage、google-cloud-storage 等。 这部分的关键在于和实际业务相结合,看看选用哪种方式更可以应对业务需求 当然爬虫采集数据使用高质量的http代理 ,效果是最好的。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
4527 次点击
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)