更多课程 选择中心

Python培训
美国上市教育机构

400-111-8989

Python培训

Python 网络爬虫知多少?

  • 发布:Python培训
  • 来源:Python知识大全
  • 时间:2019-09-16 14:05

网络爬虫概述:

网络爬虫(Web Spider)又称网络蜘蛛、网络机器人,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

网络爬虫按照系统结构和实现技术,大致可分为以下集中类型:

通用网络爬虫:就是尽可能大的网络覆盖率,如 搜索引擎(百度、雅虎和谷歌等…)。

聚焦网络爬虫:有目标性,选择性地访问万维网来爬取信息。

增量式网络爬虫:只爬取新产生的或者已经更新的页面信息。特点:耗费少,难度大。

深层网络爬虫:通过提交一些关键字才能获取的Web页面,如登录或注册后访问的页面。

注:实际工作中通常是几种爬虫技术结合实现。

应用场景:

爬虫技术在科学研究、Web安全、产品研发、舆情监控等领域可以做很多事情。

在数据挖掘、机器学习、图像处理等科学研究领域,如果没有数据,则可以通过爬虫从网上抓取;

在Web安全方面,使用爬虫可以对网站是否存在某一漏洞进行批量验证、利用;

在产品研发方面,可以采集各个商城物品价格,为用户提供市场最低价;

在舆情监控方面,可以抓取、分析新浪微博的数据,从而识别出某用户是否为水军

学习爬虫前的技术准备:

(1). Python基础语言:基础语法、运算符、数据类型、流程控制、函数、对象 模块、文件操作、多线程、网络编程 … 等

(2). W3C标准:HTML、CSS、JavaScript、Xpath、JSON

(3). HTTP标准:HTTP的请求过程、请求方式、状态码含义,头部信息以及Cookie状态管理

(4). 数据库:SQLite、MySQL、MongoDB、Redis …

关于爬虫的合法性:

几乎每个网站都有一个名为robots.txt的文档,当然也有有些网站没有设定。对于没有设定robots.txt的网站可以通过网络爬虫获取没有口令加密的数据,也就是该网站所有页面的数据都可以爬取。如果网站有文件robots.txt文档,就要判断是否有禁止访客获取数据 如:https://www.XXXX.com/robots.txt

网络爬虫使用的技术--数据抓取:

在爬虫实现上,除了scrapy框架之外,python有许多与此相关的库可供使用。其中,在数据抓取方面包括:urllib2(urllib3)、requests、mechanize、selenium、splinter;

其中,urllib2(urllib3)、requests、mechanize用来获取URL对应的原始响应内容;而selenium、splinter通过加载浏览器驱动,获取浏览器渲染之后的响应内容,模拟程度更高。

考虑效率、当然能使用urllib2(urllib3)、requests、mechanize等解决的尽量不用selenium、splinter,因为后者因需要加载浏览器而导致效率较低。

对于数据抓取,涉及的过程主要是模拟浏览器向服务器发送构造好的http请求,常见类型有:get/post。

网络爬虫使用的技术--数据解析:

在数据解析方面,相应的库包括:lxml、beautifulsoup4、re、pyquery。

对于数据解析,主要是从响应页面里提取所需的数据,常用方法有:xpath路径表达式、CSS选择器、正则表达式等。

其中,xpath路径表达式、CSS选择器主要用于提取结构化的数据。而正则表达式主要用于提取非结构化的数据。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:学习Python认识函数
下一篇:Python format的用法

哪些岗位学了Python更有优势?

Python中字符串的处理技巧有哪些

零基础学Python要掌握的小技巧

Python编程中常见的错误有哪些?

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省