爬虫基础:
编写神箭手爬虫, 需要具备以下技能:
爬虫采用JavaScript编写
从网页中抽取数据需要用XPath
(后面会开放支持CSS选择器)
很多情况下都会用到正则表达式
在某些情况下, 你可能还需要用到JsonPath
Chrome的开发者工具
是神器, 很多AJAX请求需要用它来分析
第一个demo
爬虫采用JavaScript编写, 下面以糗事百科为例, 来看一下我们的爬虫长什么样子:
var configs = {
// configs对象的成员domains, scanUrls, contentUrlRegexes和fields
domains: ["www.qiushibaike.com"],
scanUrls: ["http://www.qiushibaike.com/"],
contentUrlRegexes: ["http://www\\.qiushibaike\\.com/article/\\d+"],
fields: [
{
name: "content", // fields成员中第一个field对象的name
selector: "//*[@id='single-next-link']", // fields成员中第一个field对象的selector
required: true // fields成员中第一个field对象的required
},
{
name: "author", // fields成员中第二个field对象的name
selector: "//div[contains(@class,'author')]//h2" // fields成员中第二个field对象的selector
}
]
};
// 向爬虫任务中添加configs配置,并启动爬虫
var crawler = new Crawler(configs);
crawler.start();
爬虫的整体框架就是这样, 首先定义了一个configs对象, 里面设置了待爬网站的一些信息, 然后通过调用var crawler = new Crawler(configs);和crawler.start();来配置并启动爬虫.
configs对象如何定义, 后面会作详细介绍。
参考资料:http://doc.shenjianshou.cn/
神箭手云爬虫官网地址:http://www.shenjianshou.cn/
爬虫demo源码分享:https://github.com/ShenJianShou/crawler_samples
分享到:
相关推荐
Python 网络爬虫开发基础教程:Python 的 urllib2 模块解析 Python 网络爬虫开发是指使用 Python 语言来开发网络爬虫程序,以便从互联网上抓取有价值的数据。Python 的 urllib2 模块是 Python 的一个标准库,提供了...
爬虫技术的核心是网络爬虫,网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的 URL 开始,获得初始网页上的 URL,在抓取网页的过程中,...
#### 三、网络爬虫概述(第03章) - **章节目标**:帮助学员建立对网络爬虫的整体认识。 - **主要内容**: - 网络爬虫的基本原理及工作流程。 - 常见的网络爬虫类型介绍(如通用爬虫、聚焦爬虫等)。 - 网络爬虫...
- **了解网络爬虫**:深入解析网络爬虫的工作机制,帮助学习者建立起对爬虫技术的整体认知。 - **计算机网络协议基础**:介绍HTTP/HTTPS等网络协议的基本概念,理解请求与响应模型,为后续的爬虫开发打下坚实的基础...
Python网络爬虫是一种用于自动化获取网页数据的技术,它在数据挖掘、数据分析等领域有着广泛的应用。本教程涵盖了Python爬虫的基础教学,旨在帮助初学者快速掌握爬虫的基本技能。以下是根据提供的压缩包文件名,整理...
网络爬虫概述、 requests库入门、xapth语法详解、认识和应对反爬虫、模拟登录和验证码的处理、动态页面的分析方法、scrapy框架基础、 应对反爬虫策略、scrapy数据存储、提交数据和保持登录、crawlspider模板、图片...
### Python版网络爬虫知识点详解 #### 一、Scrapy框架概述 Scrapy是一个用于Web爬取的强大Python框架。该框架旨在帮助开发者高效地抓取网页数据,并从中提取有用的信息。文档版本为0.17.0,发布日期为2013年5月27...
### Python爬虫入门到精通必备的书籍 #### 知识点概述 本文旨在为初学者乃至进阶者提供一套完整的Python爬虫学习路径,通过精选的书籍资源来帮助读者建立起扎实的基础并逐步深入掌握网络爬虫的核心技术。Python...
网络爬虫,即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页的。从网站某一个页面(通常是首页)开始,读取网页的内容,...
java原始网络爬虫毒液 您首选的面向Deep Web的开源重点爬网程序。 概述 我们的目标是创建一种简单易用的快速,完全可定制且强大的爬虫。 快速链接 | | | | | 特征 开箱即用的多线程 通过JSoup集成进行结构化爬网 ...
**Scrapy** 是一个基于 Python 的高级网络爬虫框架,它借鉴了 Django 的设计理念,具备高度灵活性和强大的功能集。该框架适用于各种复杂的网页抓取任务,并能够高效地处理大规模数据。 **特点概述:** - **语言基础...
"Python入门教程" 本教程涵盖了Python语言的基础知识,从小白到高级,涵盖了Python的概述、安装与配置、基础知识、判断语句等内容。同时,本教程也提供了实例代码和解释,帮助读者更好地理解Python语言。 知识点一...
### Python中文入门教程知识点概述 #### 一、Python简介与安装 - **Python语言的特点**: - 简洁易读:Python的设计哲学强调代码的可读性。 - 开源免费:Python是一种开放源代码的语言,可以自由地进行修改和发布...
**Python爬虫教学PPT**是一份专为初学者设计的网络爬虫教程,旨在帮助对编程或Python无基础的学员快速掌握网络爬虫的基本概念和技术。这份教程以易懂的方式介绍了Python在爬虫领域的应用,使学习者能够对Python爬虫...
- 《Python网络爬虫开发与实战》 - 《Python爬虫开发与数据分析实战》 #### 七、注意事项 - 在编写爬虫时,请确保遵守目标网站的`robots.txt`规则以及相关法律法规。 - 不要对网站进行恶意攻击或过于频繁的请求...
- **网络爬虫开发**:针对网络爬虫的开发,书中提供了使用Python的第三方库如`requests`和`BeautifulSoup`进行网页抓取和解析的教程。此外,还涉及到了如何处理JavaScript渲染的页面,以及如何使用`Scrapy`框架进行...
- A Byte of Python:一本免费的Python入门书籍。 - Python学习资源列表:Python社区提供的各种学习资料。 - Think Python:O'Reilly出版社出版的Python书籍,提供免费电子版。 - Introduction to Python for ...
- **网络爬虫**:实现简单的网页抓取功能。 - **科学计算与图像处理** - **数值计算**:利用numpy库进行高效数值运算。 - **图像处理**:使用PIL库对图片进行基本处理。 #### 五、其他重要信息 - **课后资源**...
以上内容构成了Nutch入门教程的核心知识点,从简介、安装配置、初体验、基本原理、分析方法、分布式文件系统以及应用等多方面,详细介绍了Nutch框架及其使用方法,为对搜索引擎感兴趣的用户提供了一个全面的学习资源...