文章目录
-
Python爬虫——网络爬虫简介
-
1、爬虫介绍
-
2、爬虫的应用
-
3、爬虫的分类
Python爬虫——网络爬虫简介
1、爬虫介绍
网络爬虫(Web Spider)又称“网络蜘蛛”或“网络机器人”,它是一种按照一定规则从互联网中获取网页内容的程序或者脚本。
网络爬虫会模拟人使用浏览器,上网自动抓取互联网中数据。
Python 爬虫指的是用 Python来编写爬虫程序。其他语言也可以编写爬虫,如 Java、PHP 、C/C++等,不过相比而言,Python 语法优美、代码简洁、开发效率高、支持多个爬虫模块,比如 urllib、requests、Bs4 等。Python 的请求模块和解析模块丰富成熟,并且还提供了强大的 Scrapy 框架,让编写爬虫程序变得更为简单。因此 Python 爬虫几乎成了网络爬虫的代名词。
2、爬虫的应用
数据分析:采集有价值的数据,过滤掉那些无效的数据
社交软件用户冷启动:当社交产品没有用户时,可以爬取其他社交软件用户的数据当做假用户,来实现引流
舆情监控
竞争对手监控:采集竞争对手数据
注意:要遵守爬虫的使用规范、礼仪,不要做损害他人利益、抓取个人隐私的事情,否则可能“牢底坐穿”。
3、爬虫的分类
robots 协议
robots 协议也称作爬虫协议、机器人协议,全名叫作网络爬虫排除标准(Robots Exclusion Protocol):是一种“约定俗称”的协议,用来告诉爬虫和搜索引擎哪些页面可以抓取,哪些不可以抓取,并不具备法律效力,起不到限制作用,一般是放在网站根目录下的名为robots .txt 的文本文件。
当爬虫访问一个网站时,它首先会检查这个网站根目录下是否有robots.txt文件,如果存在,搜爬虫会根据robots.txt文件定义的爬取范围来爬取数据。如果没有robots.txt文件,爬虫便会爬取所有可直接访问的页面的数据。
自己写的爬虫可以不需要遵守 robots 协议,但是爬取内容不能用于商业用途。
通用网络爬虫
通用网络爬虫又称全网爬虫(Scalable Web Crawler),是搜索引擎的重要组成部分,比如百度,sougou,谷歌,360等搜索引擎。通用爬虫遵守 robots 协议。
常见通用爬虫名称及其对应的网站和名称:
通用爬虫名称 | 网站和名称 |
BaiduSpider | www.baidu.com 百度 |
Googlebot | www.google.com 谷歌 |
360Spider | www.so.com 360搜索 |
YodaoBot | www.youdao.com 有道 |
ia_archiver | www.alexa.cn Alexa |
Scooter | www.altavista.com altavista |
通用爬虫缺点:
- 爬取的数据大多是无用的
- 不能根据用户的需求来精准获得数据,爬取的网站会竞价排名
聚焦网络爬虫
聚焦网络爬虫(Focused Crawler),又称主题网络爬虫:根据特定需求,来实现特定网络爬虫程序,抓取需要的数据。
聚焦网络爬虫在抓取的时候会对网页内容进行筛选和处理,尽量只抓取与需求相关的网页数据,极大地节省了硬件和网络资源 。
设计思路:
- 获取要爬取的URL
- 打开网页源代码分析网页结构以及元素节点
- 模拟浏览器发送http请求访问url,返回html对象
- 解析html对象,得到需要的数据
增量式网络爬虫
增量式网络爬虫(Incremental Web Crawler):对已下载的网页采取增量式更新,它可以监测网站数据更新的情况,以便爬取到该网站新出的数据或者已经发生变化的数据。
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
- [](javascript:;)赞
- [](javascript:;)收藏
- [](javascript:;)评论
- [](javascript:;)分享
- [](javascript:;)举报
提问和评论都可以,用心的回复会被更多人看到 评论
发布评论
全部评论 () 最热 最新
相关文章
-
[
python爬虫—初识爬虫
网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。互联网犹如一个大蜘蛛网,我们的爬虫就犹如一个蜘蛛,当在互联网遇到所需要的资源,我们就会爬取下来,即为爬虫是一个请求网站并且提取数据的自动化程序。
](https://blog.51cto.com/u_10604410/2440492)
python 基础 爬虫 网络爬虫
-
[
python 3.6 爬虫程序 “python爬虫”
文章目录Python爬虫——网络爬虫简介1、爬虫介绍2、爬虫的应用3、爬虫的分类 Python爬虫——网络爬虫简介1、爬虫介绍网络爬虫(Web Spider)又称“网络蜘蛛”或“网络机器人”,它是一种按照一定规则从互联网中获取网页内容的程序或者脚本。网络爬虫会模拟人使用浏览器,上网自动抓取互联网中数据。Python 爬虫指的是用 Python来编写爬虫程序。其他语言也可以编写爬虫,如 Java、
](https://blog.51cto.com/u_16099311/6384573)
python 3.6 爬虫程序 python 爬虫 开发语言 人工智能
-
[
python3.6 爬虫例子 python爬虫入门案例
文章目录一、前言二、爬虫简单架构三、程序入口函数(爬虫调度段)四、URL管理器五、网页下载器六、网页解析器七、网页输出器八、运行结果九、拓展阅读 一、前言本篇博文主要讲解Python爬虫实例,重点包括爬虫技术架构,组成爬虫的关键模块:URL管理器、HTML下载器和HTML解析器。二、爬虫简单架构三、程序入口函数(爬虫调度段)#coding:utf8import time, datetime
](https://blog.51cto.com/u_16099267/6383990)
python3.6 爬虫例子 python 爬虫 html ide
-
[
python 爬虫程序 python. 爬虫
爬虫(又称网络爬虫,网页爬虫)是一种自动地访问网站的软件系统,它常常被用来爬取网站上的信息。爬虫可以在网站更新时自动发现新的网页,或者当网站搜索引擎索引需要更新时使用。爬虫的工作流程通常如下:从某个网页开始,爬虫会解析这个网页的 HTML 代码,并找出其中的链接。爬虫会继续访问这些链接,并解析新网页的 HTML 代码,找出更多的链接。重复这个过程,直到爬虫爬取了整个网站,或者直到达到终止条件为止。
](https://blog.51cto.com/u_12935/6383843)
python 爬虫程序 python 爬虫 Powered by 金山文档 html
-
[
python3.6网络爬虫 用python网络爬虫
python实现网络爬虫的方法:1、使用request库中的get方法,请求url的网页内容;2、【find()】和【find_all()】方法可以遍历这个html文件,提取指定信息。python实现网络爬虫的方法:第一步:爬取使用request库中的get方法,请求url的网页内容编写代码[root@localhost demo]# touch demo.py[root@localhost de
](https://blog.51cto.com/u_75269/6384427)
python3.6网络爬虫 如何在python中制作爬虫软件 python html 网页内容
-
[
python编写爬虫小程序 python 爬虫小程序
Python很简洁,也很强大,作为兴趣,值得一学!下面这个程序实现的是从一个网站上下载图片,根据自己需要可以进行修改 1 import re 2 import urllib 3 4 def gethtml(url): 5 page = urllib.urlopen(url) 6 html = page.read() 7 return html 8
](https://blog.51cto.com/u_12197/6384867)
python编写爬虫小程序 html Python 下载图片
-
[
python 爬虫程序 例子 python爬虫案例代码
python爬虫小例子python爬虫小实例一个带异常处理的小例子代码如下:import requestsurl="http://"try: r=requests.get(url) r.raise_for_status() print r.encoding print r.textexcept: print "failed"r.raise_fo
](https://blog.51cto.com/u_14405/6384818)
python 爬虫程序 例子 python 爬虫 百度 python爬虫
-
[
python爬虫 python爬虫怎么挣钱
Python爬虫怎么挣钱?解析Python爬虫赚钱方式,想过自己学到的专业技能赚钱,首先需要你能够数量掌握Python爬虫技术,专业能力强才能解决开发过程中出现的问题,Python爬虫可以通过Python爬虫外包项目、整合信息数据做产品、独立的自媒体三种方式挣钱。 Python爬虫怎么挣钱?解析Python爬虫赚钱方式,想过自己学到的专业技能赚钱,首先需
](https://blog.51cto.com/u_16099166/6404760)
python爬虫 程序员 编程语言 Python开发 Python
-
[
python 爬虫 gzip python 爬虫 美女
学习python可能最先入手的就是爬虫了,闲来没事就找了找爬点什么内容比较好。突然发现最近很流行爬去美女图片啊!!!!二话不说,搞起来。 先来看看网站长啥样。 再看看网站的Html结构。 好了,知道了网站html结构,name就开干吧。先创建py文件,引入第三方包urllib.requ
](https://blog.51cto.com/u_16099213/6383889)
python 爬虫 gzip html 下载图片 python
-
[
python爬虫 路线 用python爬虫
学爬虫之前首先知道什么是爬虫: 编写程序,根据URL获取网站信息 历史背景:2015起,我国对数据爬取进行立法ret.content 按照字节显示 ret.text 按照字符串显示注:以上内容跟下面无关1.新建一个python项目spyder(名字自起)2.点击file中的settings3.点击Project:spyder下的Project Interpreter4.安装bs4
](https://blog.51cto.com/u_16099168/6384150)
python爬虫 路线 爬虫 python html xml
-
[
python 爬虫 人人 用python爬虫
1.爬虫目的 用通俗易懂的话来说,是对多种类型数据(如文字,图片,音频,视频等)进行批量式的采集与存储。 本文为个人一些学习心得,举例对网页进行信息爬取操作,使用python中基础的方法进行爬取,便于理解学习。2.爬虫准备 需要对python有一些基础,对字符串,列表,循环结构等有了解。需要对HTML语言有一些了解,能看懂结构即可。3.爬虫流程 选取目标数据源(以网站为例)→向目标网站发起网络请求
](https://blog.51cto.com/u_14555/6383838)
python 爬虫 人人 python 网络爬虫 HTML 数据
-
[
hawk python爬虫 python 爬虫 工具
原标题:Python学习教程:10个爬虫工程师必备的爬虫工具!Python学习教程:爬虫工程师必备的10个爬虫工具!最近很多学爬虫的伙伴让推荐顺手的爬虫工具,总结了一下,把这些好用的爬虫工具都跟你们找齐活了!都知道工欲善其事必先利其器,那么作为经常要和各大网站做拉锯战的爬虫工程师们,更需要利用利用好身边的一切法器,才能更快的攻破对方防线。这里以日常爬虫流程,给大家介绍十款爬虫工具,相信大家掌握以后
](https://blog.51cto.com/u_16099227/6385100)
hawk python爬虫 python 爬虫工具 数据 Chrome App
-
[
python 爬虫范例 python爬虫介绍
初识Python爬虫互联网简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML、JS、CSS代码返回给浏览器,这些代码经过浏览器解析、渲染,将丰富多彩的网页呈现我们眼前;一、什么是爬虫网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自
](https://blog.51cto.com/u_13424/6384371)
python 爬虫范例 Python爬虫基础 数据 服务器 请求头
-
[
python 爬虫 docker python 爬虫 美女
Python爬取美女图片 爬虫基础简述实现思路关键代码文件下载爬虫代码成果更新简述作为一个考研狗,每天除了日复一日的复习外,偶尔也想给自己寻找一些生活的小乐趣,今天突然想到了自己曾经稍微接触的爬虫,想看看可以爬取些图片放到电脑上,就花了些时间改了改之前的爬虫代码,爬取了一部分照片先量一下战绩吧。照片不多但也算是自己的一次爬虫小经验。实现思路爬虫的网页很简单,照片真实路径都在页面中直接可以拿到 主要
](https://blog.51cto.com/u_16099345/6364978)
html ide 正则表达式
-
[
python 爬虫 慢 python爬虫效率
爬虫 效率一、同步与异步二、并发与并行三、多进程与多线程四、队列
](https://blog.51cto.com/u_12902/6384485)
python 爬虫 慢 多线程 多进程
-
[
爬虫python 静态界面爬虫python
简单爬虫框架由四个部分组成:URL管理器、网页下载器、网页解析器、调度器,还有应用这一部分,应用主要是NLP配合相关业务。它的基本逻辑是这样的:给定一个要访问的URL,获取这个html及内容(也可以获取head和cookie等其它信息),获取html中的某一类链接,如a标签的href属性。从这些链接中继续访问相应的html页面,然后获取这些html的固定标签的内容,并把这些内容保存下来。
](https://blog.51cto.com/u_16099254/6271746)
html python 解析器
-
[
twisted python 爬虫 python爬虫大全
什么是爬虫?按照一定的规则,自动地抓取万维网信息的程序或脚本。爬虫目的:从网上爬取出来大量你想获取类型的数据,然后用来分析大量数据的类似点或者其他信息来对你所进行的工作提供帮助。为什么选择python做爬虫1. 抓取网页本身的接口相比与其他静态编程语言,如java,c#,C++,python抓取网页文档的接口更简洁;相比其他动态脚本语言,如perl,shell,python的urllib2包提供了
](https://blog.51cto.com/u_16099353/6383900)
twisted python 爬虫 python 数据 xml
-
[
python 爬虫 ua python 爬虫模块
一、简单爬虫架构首先学习爬虫之前呢,要知道爬虫的一个基本架构,也就是写代码得有层次结构吧?不然挤牙膏么?爬虫调度器 -> URL管理器 -> 网页下载器() -> 网页解析器() -> 价值数据其中最重要地方,莫过于三君子-管理,下载,解析器。这就是个初代版本的简单爬虫架构,一个基本的架构。二、运行流程实际上对于一些有开发基础的人来看,这个东西已经一目了然了,具体内容我不说
](https://blog.51cto.com/u_16099226/6384347)
python 爬虫 ua python爬虫常用模块介绍 html Python 数据
-
[
python 图片爬虫 python爬虫照片
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 作者:Python进阶者想要学习Python?有问题得不到第一时间解决?来看看这里满足你的需求,资料都已经上传至文件中,可以自行下载!还有海量最新2020python学习资料。博海拾贝是一支互联网从业者在线教育的团队,扎根于中国教育行业以及互联网行业的创新和眼球中,打造专业体系化的
](https://blog.51cto.com/u_16099361/6383874)
python 图片爬虫 爬虫 python html Python
-
[
python判断网页有几页 python监测网页变化
需求:1.监控网站页面内的附件有无更新情况。方案:用数据库内存的附件链接与页面内的附件链接进行比对,无相同链接视为附件失效已更新。代码:import urllib2 import time import pymysql import random from bs4 import BeautifulSoup import re 这是引入的所需要的库,python版本是3.7有些是自带的,有
](https://blog.51cto.com/u_16099334/6402544)
Chrome Windows sql
-
[
window mysql重启服务命令 windows下mysql重启
如果在网上搜索windows下重启mysql,大多给出的解决方法是执行net stop mysql然后net start mysql来重启。但是如果你这么做很大可能会报错:服务名无效。正确的解决方法是:搜索“服务”并进入:下拉找到Mysql 左上角处可以进行重启动。如果以后想要通过命令行来重启,那么:可以看到我的服务名应该是mysql57而不是mysql。因此需要这么执行:net stop mys
](https://blog.51cto.com/u_13019/6402589)
mysql 数据库 java 重启 解决方法
-
[
unity UniStorm System 阴影太重 unity远处阴影距离
Edit->Project Setting->Shadow distance
](https://blog.51cto.com/goody/6402592)
1
-
[
Java中标题居中 java居中对齐代码
Toolkit kit = Toolkit.getDefaultToolkit(); // 定义工具包 Dimension screenSize = kit.getScreenSize(); // 获取屏幕的尺寸 int screenWidth = screenSize.width/2; // 获取屏幕的宽 int screenHeight = s
](https://blog.51cto.com/u_12855/6404023)
java html
-
[
java怎么输出引号 java输出怎么打
首先建好类和主函数之后,如图所示public class aaaa{ public static void main(String[] args) { System.out.println(“Hello,world!”);//输出 } }输出结果Java输入:有三种方法,我在这里给出最优也是最简单的一种方法。Scanner类import java.util.*;//必须写在程序前面 pub
](https://blog.51cto.com/u_14172/6405388)
java怎么输出引号 Java System 字符串 java