zoukankan      html  css  js  c++  java
  • python爬虫学习过程记录

    项目为爬取Python词条的信息。
    项目代码在我的码云仓库。

    https://gitee.com/libo-sober/learn-python/tree/master/baike_spider

    1.开发轻量级爬虫

    1.1爬虫简介

    爬虫:一段自动抓取互联网信息的程序。
    在这里插入图片描述
    自动访问互联网并且提取数据。

    价值:互联网数据为我所用。

    1.2简单爬虫架构

    在这里插入图片描述
    运行流程:
    在这里插入图片描述

    1.3URL管理器

    URL管理器:管理待抓取URL集合和已抓取URL集合。防止重复抓取和循环抓取。
    在这里插入图片描述
    实现方式:
    在这里插入图片描述
    一般大公司都存在缓存数据库中。

    1.4网页下载器

    网页下载器:将互联网上URL对应的网页下载到本地的工具。
    在这里插入图片描述
    Python有哪几种网页下载器?
    在这里插入图片描述

    1.5 urllib2

    urllib2下载网页方法1:最简洁方法
    python3中把urllib2改为了urllib.request
    在这里插入图片描述
    对应到代码:
    在这里插入图片描述
    urllib2下载网页方法2:添加data、http header
    在这里插入图片描述
    在这里插入图片描述
    urllib2下载网页方法3:添加特殊情景的处理器。
    在这里插入图片描述
    有些网页需要登录才能处理,需要添加Cookie的处理;
    有些网页需要代理才能访问,使用ProxyHandler;
    有些网页使用Https加密访问,使用HTTPSHandler;
    有些网页url是相互自动跳转的关系,使用HTTPRedirectHandler。
    对应到代码:
    在这里插入图片描述

    1.6网页解析器

    网页解析器:从网页中提取出有价值的数据的工具。
    在这里插入图片描述
    python有哪几种网页解析器?
    在这里插入图片描述
    结构化解析-DOM(Document Object Model)树
    在这里插入图片描述

    1.7 Beautiful Soup

    python第三方库,用于从HTML或XML中提取数据
    安装并测试beautifulsoup4
    安装:pip install beautifulsoup4
    测试:import bs4
    语法:
    在这里插入图片描述
    例如:
    在这里插入图片描述
    创建BeautifulSoup对象
    在这里插入图片描述
    搜索节点(find_all, find)
    在这里插入图片描述
    访问节点信息
    在这里插入图片描述

    1.8 实例爬虫

    在这里插入图片描述
    目标:百度百科python词条相关词条网页-标题和简介。
    入口页:https://baike.baidu.com/item/Python/407313
    词条页面URL:/item/opencv 这不是一个完整的URL,需要补全。
    数据格式:
    标题:
    《dd class="lemmaWgt-lemmaTitle-title">

    Python


    简介:
    《div class=''para''>
    由于网站在不断升级,所以爬取代码要跟随目标网站更改需求。

    源代码太长就不贴了,大家可以去我的资源里边下载。我设置了0积分币,方便大家下载。
    免费获取项目代码传送门

  • 相关阅读:
    mysql-community-server-5.7.24 & 5.7.31 (5.6.35 升级到 5.7.24)
    企业 数据 能力 中台 大数据平台 CRM
    Tomcat日志切割配置
    你不知道的 Blob
    细说websocket快速重连机制
    DNS反向查询
    从安全的角度看待DNS
    LVS 负载均衡集群
    Linux服务器配置DNS解析
    react修改state的值
  • 原文地址:https://www.cnblogs.com/SoberLee/p/13567244.html
Copyright © 2011-2022 走看看