作者:编码之妙
链接:http://www.toutiao.com/i635276
如果十年前拥有这些技术,你可能比马云还要富 :网络爬虫-python版
scrapy: scrapy
Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。
pyspider: pyspider
pyspider 来源于以前做的一个垂直搜索引擎使用的爬虫后端。最初的需求是需要从200个站点(由于站点失效,同时有100+在跑吧)采集数据,并要求在5分钟内将对方网站的更新更新到库中。
所以,灵活的抓取控制是必须的。同时,由于100个站点,每天都可能会有站点失效或者改版,所以需要能够监控模板失效,以及查看抓取状态。
这个项目对于爬虫的监控和调度要求是非常高的。
特点是:
python 脚本控制,可以用任何你喜欢的html解析包(内置 pyquery)
WEB 界面编写调试脚本,起停脚本,监控执行状态,查看活动历史,获取结果产出
支持 MySQL, MongoDB, SQLite
支持抓取 JavaScript 的页面
组件可替换,支持单机/分布式部署,支持 Docker 部署
强大的调度控制
portia: portia
可视化的网页内容抓取工具 Portia
html2text: html2text
html2text是一个Python模块,用来把HTML格式转换为文本(Markdown)格式。
BeautifulSoup: BeautifulSoup
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.
lxml: lxml
lxml是python中处理xml的一个非常强大的库,可以非常方便的解析和生成xml文件。
selenium:selenium
Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。Selenium测试直接运行在浏览器中,可以模拟真实用户的行为。支持的浏览器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好地工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。
简单地说,Selenium允许你用代码操作浏览器,也可以执行JS脚本,这使它的应用不仅仅限于自动化测试。比如用它切换马甲登录网站,这正是笔者接触selenium的初衷。
mechanize: mechanize
希望与 Web 页面中找到的内容进行某种比较复杂的交互时,您需要使用 mechanize 库。
PyQuery: pyquery
jQuery程序员的福气,你不需要学习更多的技能,就能熟练使用网络爬虫。
PyQuery 是 Python 仿照 jQuery 的严格实现。语法与 jQuery 几乎完全相同,所以不用再去费心去记一些奇怪的方法了。
pyquery 可让你用 jQuery 的语法来对 xml 进行操作。这I和 jQuery 十分类似。如果利用 lxml,pyquery 对 xml 和 html 的处理将更快。
关注“网页设计自学平台”订阅号回复以下|关键字|
|dw教程|js教程|淘宝案例|软件下载|搜狐案例|网站模板
戳“阅读原文”入群免费领取前端开发教程!