龙空技术网

Python爬虫入门 day02

小悦 612

前言:

此时朋友们对“python爬虫爬取种子”可能比较关切,同学们都需要剖析一些“python爬虫爬取种子”的相关资讯。那么小编也在网上收集了一些关于“python爬虫爬取种子””的相关资讯,希望我们能喜欢,同学们一起来学习一下吧!

第一章 爬虫简介

1.1 什么是网络爬虫

1.1.1 爬虫的简单定义

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

简单来说:使用事先写好的程序去抓取网络上所需要的数据,这样的程序就叫网络爬虫。

1.1.2 爬虫的分类

网络爬虫可以分为通用网络爬虫(如搜索引擎的爬虫,根据几个URL的种子不断的去抓取数据)和聚焦网络爬虫(有选择性的抓取预先定义好的主题和相关页面的网络爬虫)。

A.通用网络爬虫:

搜索引擎中第一步就是爬虫。但是搜索引擎中的爬虫是一种广泛获取各种网页的信息的程序;除了HTML文件外,搜索引擎通常还会抓取和索引文字为基础的多种文件类型,如TXT,WORD,PDF等; 但是对于图片,视频,等非文字的内容则一般不会处理;但是对于脚本和一些网页中的程序是不会处理的;

B.聚焦网络爬虫:

针对某一特定领域的数据进行抓取的程序。比如旅游网站,金融网站,招聘网站等等;特定领域的聚集爬虫会使用各种技术去处理我们需要的信息,所以对于网站中动态的一些程序,脚本仍会执行,以保证确定能抓取到网站中的数据;

1.2 为什么需要爬虫

1.2.1 爬虫的用途

A.解决冷启动问题:对于很多社交类的网站,冷启动是很困难的。对于新注册的用户而言,要留住他们,需要先注入一批假用户,已构造社区的氛围。一般这些假的用户可以通过网络爬虫从微博或其他APP中抓取而来;今日头条等互联网媒体最早也就是使用了爬虫+网页排序的技术,所以它们解决冷启动的方式也是需要爬虫; B.搜索引擎的根基:做搜索引擎少不了爬虫程序;

C.建立起知识图谱,帮助建立机器学习的训练集:

D.可以制作各种商品的比价,趋势分析等:

E.其他:比如分析淘宝上竞争对手的数据;分析微博的数据传递影响力,政府的舆情分析,分析人与人之间的关系等等;

总之一句话:在当今的大数据时代,做任何价值分析的前提是数据,而爬虫则是获得这个前提的一个低成本高收益手段;而对同学们而言,另一个重要的价值是解决就业问题。1.2.2怎么做爬虫

用Python做爬虫非常的简单,在交互式环境中简单的两行代码即可

做一个爬虫如此简单吗?

当然不是。让我们来看下要做一个爬虫工程师需要哪些知识和技能:

****爬虫工程师的晋级之路,网络爬虫涉及哪些技术:

初级爬虫工程师:

1. Web前端的知识:HTML, CSS, JavaScript, DOM, DHTML, Ajax, jQuery,json等;

2. 正则表达式,能提取正常一般网页中想要的信息,比如某些特殊的文字,链接信息,知道什么是懒惰,什么是贪婪型的正则;

3. 会使用re, BeautifulSoup,XPath等获取一些DOM结构中的节点信息;

4. 知道什么是深度优先,广度优先的抓取算法,及实践中的使用规则;

5. 能分析简单网站的结构,会使用urllib,urllib2或requests库进行简单的数据抓取;

中级爬虫工程师:

1. 了解什么是Hash,会使用简单的MD5,SHA1等算法对数据进行Hash以便存储;

2. 熟悉HTTP,HTTPS协议的基础知识,了解GET,POST方法,了解HTTP头中的信息,包括返回状态码,编码,user-agent,cookie,session等;

3. 能设置User-Agent进行数据爬取,设置代理等;

4. 知道什么是Request,什么是Response,会使用Fiddle, Wireshark等工具抓取及分析简单的网络数据包;对于动态爬虫,要学会分析Ajax请求,模拟制造Post数据包请求,抓取客户端session等信息,对于一些简单的网站,能够通过模拟数据包进行自动登录;

5. 对于比较难搞定的网站,学会使用phatomjs+selenium抓取一些动态网页信息;

6. 并发下载,通过并行下载加速数据抓取;多线程的使用;

高级爬虫工程师:

1. 能使用Tesseract,百度AI等库进行验证码识别;

2. 能使用数据挖掘的技术,分类算法等避免死链等;1. 会使用常用的数据库进行数据存储,查询,如Mongodb,Redis(大数据量的缓存)等;下载缓存,学习如何通过缓存避免重复下载的问题;Bloom Filter的使用;

2. 能使用机器学习的技术动态调整爬虫的爬取策略,从而避免被禁IP封号等;

3. 能使用一些开源框架Scrapy,Celery等分布式爬虫,能部署掌控分布式爬虫进行大规模的数据抓取;

标签: #python爬虫爬取种子