专栏首页Python 知识大全Python 网络爬虫概述

Python 网络爬虫概述

REC

5.1 网络爬虫概述:

  • 网络爬虫(Web Spider)又称网络蜘蛛、网络机器人,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。
  • 网络爬虫按照系统结构和实现技术,大致可分为以下集中类型:
    • 通用网络爬虫:就是尽可能大的网络覆盖率,如 搜索引擎(百度、雅虎和谷歌等…)。
    • 聚焦网络爬虫:有目标性,选择性地访问万维网来爬取信息。
    • 增量式网络爬虫:只爬取新产生的或者已经更新的页面信息。特点:耗费少,难度大
    • 深层网络爬虫:通过提交一些关键字才能获取的Web页面,如登录或注册后访问的页面。
  • 注:实际工作中通常是几种爬虫技术结合实现。

5.2 应用场景:

  • 爬虫技术在科学研究Web安全产品研发舆情监控等领域可以做很多事情。
  • 在数据挖掘、机器学习、图像处理等科学研究领域,如果没有数据,则可以通过爬虫从网上抓取;
  • 在Web安全方面,使用爬虫可以对网站是否存在某一漏洞进行批量验证、利用;
  • 在产品研发方面,可以采集各个商城物品价格,为用户提供市场最低价;
  • 在舆情监控方面,可以抓取、分析新浪微博的数据,从而识别出某用户是否为水军

5.3. 学习爬虫前的技术准备:

  • (1). Python基础语言:基础语法、运算符、数据类型、流程控制、函数、对象 模块、文件操作、多线程、网络编程 … 等
  • (2). W3C标准:HTML、CSS、JavaScript、Xpath、JSON
  • (3). HTTP标准:HTTP的请求过程、请求方式、状态码含义,头部信息以及Cookie状态管理
  • (4). 数据库:SQLite、MySQL、MongoDB、Redis …

5.4 关于爬虫的合法性:

几乎每个网站都有一个名为robots.txt的文档,当然也有有些网站没有设定。对于没有设定robots.txt的网站可以通过网络爬虫获取没有口令加密的数据,也就是该网站所有页面的数据都可以爬取。如果网站有文件robots.txt文档,就要判断是否有禁止访客获取数据 如:https://www.taobao.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选择器主要用于提取结构化的数据。而正则表达式主要用于提取非结构化的数据。

END

本文分享自微信公众号 - Python 知识大全(TuoLaJi522),作者:厅长大人

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 大数据分析考科目三到底哪里容易被挂

    就在上周五, 也就是5月24号, 也就是本狗的阳历生日的这天, 本狗考了科目三, 结果是:“唉”, 没想到过了。用一句小时候经常听的话来讲这次的成绩就是——“一...

    Python知识大全
  • Python 爬虫浏览器伪装技术

    Python知识大全
  • 大神是这样处理 CSV 数据的

    例如:假设你在一 个名叫 stocks.csv 文件中有一些股票市场数据,像这样:

    Python知识大全
  • python3爬虫之开篇

      折腾爬虫也有一段时间了,从一开始的懵懵懂懂,到现在的有一定基础,对于这一路的跌跌撞撞,个人觉得应该留下一些文字性的东西,毕竟好记性不如烂笔头,而且毕竟这是吃...

    py3study
  • 聊一聊数据获取和爬虫

    木东居士
  • Python 爬虫介绍

    作为程序员,相信大家对“爬虫”这个词并不陌生,身边常常会有人提这个词,在不了解它的人眼中,会觉得这个技术很高端很神秘。不用着急,我们的爬虫系列就是带你去揭开它的...

    纯洁的微笑
  • 爬虫开发者职业生涯的终止!

    "给你个帐号,你用这个帐号登录进XXX系统,把所有的数据给我爬下来!" “这个是犯法的吧,我不做!”

    CainGao
  • 如果你不知道做什么,那就学一门杂学吧

    多年以后,面对人工智能研究员那混乱不堪的代码,我会想起第一次和S君相见的那个遥远的下午。那时的B公司,还是一个仅有6个人的小团队,Mac和显示器在桌上依次排开,...

    青南
  • python爬虫了解第一篇

    py3study
  • 大规模爬虫流程总结

    爬虫是一个比较容易上手的技术,也许花5分钟看一篇文档就能爬取单个网页上的数据。但对于大规模爬虫,完全就是另一回事,并不是1*n这么简单,还会衍生出许多别的问题。...

    小莹莹

扫码关注云+社区

领取腾讯云代金券