RDD的PYTHON背包

pythoon(大蟒蛇)

1989年
Guido van Rossum(荷兰人)html

  • 解释型语言python

  • BASIC、Pythonweb

  • 解释型语言

  • 同声传译正则表达式

  • 比较灵活redis

  • 设计哲学数据库

    • “优雅”“明确”“简单”编程

    • 易学、易用缓存

    • 可读性高cookie

  • 开发哲学数据结构

    • “用一种方法,最好是只用一种方法来作一件事”

  • 现代编程语言

    • 面向对象

  • 支持泛型设计

    • 支持函数式编程

  • 丰富的数据结构和第三方函数库

    • 功能强大

python web spider

简单爬虫架构

  • 基本的器件

    • 爬虫调度端

    • 爬虫url管理器

    • 网页下载器

    • 网页解析器

      • 价值数据

      • url数据

  • 过程

url管理器

  • 管理待抓取URL集合和已抓取URL集合

  • 防止重复/循环抓取

  • 支持功能:

  • 添加新的url》待抓取

    • 判断是否已经存在

  • 获取待爬取url

    • 判断是否还有待爬取url

      • 将url从待爬取》已爬取

  • 实现方式

    • 存储到内存

      • 适合小型、我的

      • python内存

      • set()

        • 待爬取一个 已爬取一个

          • 直接去除重复的元素

      • 关系数据库

      • 适合:永久

    • mySQL

      • urls(url,is_crawled)

        • iscrawled判断是否已经爬取

        • 缓存数据库

        • 高性能 》 大公司

    • redis

      • 待爬取url集合:set

        • 已爬取url集合:set

网页下载器

将互联网下URL对应的网页下载到本地的工具

  • 基本的网页下载器

    • urllib2

      • python官方基础模块

      • 基本下载、cookies、密码

    • requests

      • 第三方包更强大

    • 处理一些特殊情景

      • HTTPCookieProcessor 密码

      • ProxyHandler 代理

      • HTTPSHandler加密

      • HTTPRedirectHandler 重定向

网页解析器

提取有用数据:

  • 输出

  • url列表

  • 有用数据

基本的网页解析器:

  1. 正则表达式

  2. html.parser(自带)

  3. BeautifulSoup

  4. lxml

相关文章
相关标签/搜索