爬虫介绍
爬虫实际上就是采集网络上数据的一段程序,如果把互联网比喻成一个蜘蛛网,那么蜘蛛就是在网上爬来爬去的蜘蛛,爬虫程序通过请求url地址,根据响应的内容进行解析采集数据, 比如:如果响应内容是html,分析dom结构,进行dom解析、或者正则匹配,如果响应内容是xml/json数据,就可以转数据对象,然后对数据进行解析。 互联网上一切都是资源,比如视频资源,新闻资 …
按主题探索文章、教程与工程实践。
9 篇内容爬虫实际上就是采集网络上数据的一段程序,如果把互联网比喻成一个蜘蛛网,那么蜘蛛就是在网上爬来爬去的蜘蛛,爬虫程序通过请求url地址,根据响应的内容进行解析采集数据, 比如:如果响应内容是html,分析dom结构,进行dom解析、或者正则匹配,如果响应内容是xml/json数据,就可以转数据对象,然后对数据进行解析。 互联网上一切都是资源,比如视频资源,新闻资 …
我们使用python来实现最简单的爬虫。 使用python的requests库来发起http请求并获取目标站点的html代码。 使用python的BeautifulSoup库来解析html,从html中提取感兴趣的内容。 大家可以在测试教程网requests教程中找到requests库的一些典型用法。 安装python3,可以参考这里 安装requests, …
我们现在来实现第一个超级简单的网络爬虫 用来抓取重定向科技目前开设的所有测试课程,并打印出来,步骤大概是这样子 先访问所有课程页面,把html代码拿到,实际上就是拿到一个很长的文本,文本内容就是网页的html代码 分析html代码,找到我们需要获取信息的html特征 解析html代码,根据html特征,从里面抠出来课程的名称 打印出所有课程的名称 我们在编写 …
在v2ex主页的右侧一般有个最热主题区域,里面列出了当日的热门讨论话题。这一节里我们就尝试使用爬虫技术获取这些热门主题文本和链接。 注意:v2ex本身提供了接口去获取这些热门主题的详细信息,本节内容只是举例,并不是最佳实践 具体步骤 访问v2ex主页,获取html文本 分析html文本,找出待获取内容的特征 解析html代码,根据特征拿出目标内容 打印这些内 …
之前的例子里我们开发的都是文本爬虫,有时候我们需要去下载其他网站的图片并保存下来,这时候就需要用图片爬虫。 图片爬虫的套路其实跟文本爬虫差不多,最大的区别就是图片爬虫会去下载需要的文件,而文本爬虫可能会做其他的一些持久化的工作。 在这一节里,我们将实现下载煎蛋画廊第一页所有图片的功能。 具体步骤 访问煎蛋画廊主页,获取html文本 分析html文本,找出所有 …
知己知彼,百战不殆。 爬虫往往会爬取其他服务的一些核心资源,这些资源是服务提供商重点保护的资产,所以很多网站都会启用一些反爬虫策略。 这里我们简单分析一下反爬虫的常用手段。 通过日志是可以看出一些异常访问的,比如例如来自同一个IP地址的许多类似的请求操作。我们可以通过一些措施来限制这些访问,从而达到保护己方资源的效果, …
在这一节里,我们将实现获取知乎每日及每月最热问题的功能。 具体步骤 访问知乎的发现的主页,获取html文本 分析html文本,找出今日最热和本月最热的html特征 解析html代码,拿到所有满足条件的链接 拿到链接的文本,并打印 稍微分析一下可以看出,我们只需要拿到所有class=“question_link"的a标签就可以了。 命令行中运行 由于内容是动态 …
为了大家能够更好的学习爬虫,扩大视野,这里给大家推荐一些其他的资源 大话爬虫的基本套路 Puppeteer之爬虫入门 利用爬虫技术能做到哪些很酷很有趣很有用的事情? Web网页爬虫对抗指南 Part.1 如何学习python爬虫 各种爬虫实例, 强烈推荐
从上一节的反爬虫建议来看,降低访问频率和将爬虫伪装成真实的用户访问可以对抗大部分的反爬虫策略。 因为selenium是完全操作真实的浏览器,所以发爬虫策略比较难察觉异常,对于一些反爬虫策略非常严酷的网站,用selenium爬虫有时候会起到意想不到的效果。 但是selenium爬虫也有一些局限性,比如效率低下等。 我们使用selenium爬虫来获取知乎今日最热 …