爬虫简介
互联网是由一个一个的超链接组成的,从一个网页的链接可以跳到另一个网页,在新的网页里,又有很多链接。理论上讲,从任何一个网页开始,不断点开链接、链接的网页的链接,就可以走遍整个互联网!这个过程是不是像蜘蛛沿着网一样爬?这也是“爬虫”名字的由来。
作为爬虫工程师,就是要写出一些能够沿着网爬的”蜘蛛“程序,保存下来获得的信息。一般来说,需要爬出来的信息都是结构化的,如果不是结构化的,那么也就没什么意义了(百分之八十的数据是非结构化的)。爬虫的规模可达可小,小到可以爬取豆瓣的top 250电影,定时爬取一个星期的天气预报等。大到可以爬取整个互联网的网页(例如google)。!
目标
1.熟练使用python语言
2.掌握网络数据采集技术,熟练使用爬虫工具requests、xpath、beautifulsoup、re、selenium、aiohttp、scrapy以及scrapy-redis分布式爬虫框架等
网络请求:urllib,requests
网页解析:lxml与xpath,bs4与css选择器,正则表达式
web自动化测试工具:selenium
app抓包工具:fiddler,mitmporxy
app自动化测试工具:airtest
爬虫框架:scrapy
分布式爬虫框架:scrapy-redis
定时调度框架: apsheduler
图片识别工具:OCR
Py中执行js:PyExecJS
数据库操作:pymongo,pyredis,pymysql
文件操作:csv,xlwt
3.熟悉网页语言Html及Javascripts,掌握json格式数据处理方法,拥有一定反爬经验积累,理解并熟练掌握各种反爬技巧(UA,IP代理,模拟登录,动态页面,验证码等)
4.了解手机app爬虫,掌握fiddler抓包工具,中间人攻击mitm以及Airtest自动化测试框架的使用
5.熟悉掌握数据存情技能MongoDB,MySql,并配合python使用,实现数据采集入库
6.熟悉多进程多线程异步,提高爬虫效率
7.熟悉scrapy爬虫框架
8..熟悉apsheduler框架,实现定时更新
什么是爬虫
是一种按照一定的规则,自动控制或抓取互联网信息的程序或者脚本。
所谓的网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。在Python中有很多库可以用来抓取网页。
简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。
数据怎么产生价值
爬虫所采集的网络数据,本身虽然是原始数据,但经过有效的加工和分析,可以为企业和个人生产出巨大的价值。爬虫数据产生价值的主要方式包括:
1. 构建知识图谱和知识库
通过爬取各类垂直领域的数据,如百科、论坛、博客等,可以构建覆盖广泛知识的知识库和知识图谱。这为知识问答系统、智能推荐等应用提供了有力支撑。
2. 商业决策智能分析
通过爬取电商平台、社交媒体、论坛等网站数据,企业可以对市场行情、用户需求、竞争对手等做深入分析,从而制定更好的营销策略、产品策略和业务决策。
3. 舆情监控及情报分析
自动采集新闻、社交媒体等网络上的观点和评价信息,可以对热点事件、品牌声誉、竞争对手等方面的舆论信息进行全面持续监控和分析,为企业管理层提供宝贵情报。
4. 定向营销和精准广告
利用爬虫自动采集用户的浏览行为、偏好等数据,可以完成用户人群画像,实现营销信息的精准投放,提高广告转化率。
5. 金融数据分析
金融数据作为一种高价值数据资源,通过爬虫可以大量采集各类上市公司、宏观经济等相关数据,这为金融量化分析和投资决策提供了重要依据。
6. 学术研究和统计调查
对于部分领域如社会学、心理学等,需要大量相关网络内容作为研究的数据来源。爬虫可以有效采集这些资源数据。同时,一些统计调查工作也离不开网络数据采集。
7. 互联网舆论分析
互联网上充斥着大量的用户评价、意见观点等数据,通过爬虫对这些内容抓取并挖掘分析,可以呈现某个产品、话题、事件等在网络上的受关注程度和倾向性。
总之,爬虫采集的网络数据经过专业分析加工后,可以为企业的市场营销、决策制定、舆情管理、风险控制、学术研究等各种应用场景提供有价值的数据支撑,从而产生巨大的经济价值和社会价值。
爬虫步骤
1.网页抓取
通过一些请求工具模拟人的网页请求
urllib,urilib3,requests,aiohttp,twisted
2.数据提取
网页解析工具:
xpath,bs4,re,json,不规则字符串 re
3.数据储存
MySQL,MongoDB,Redis,文件等等