• python爬虫专栏学习


    知乎的一个讲python的专栏,其中爬虫的几篇文章,偏入门解释,快速看了一遍。

    入门

    爬虫基本原理:用最简单的代码抓取最基础的网页,展现爬虫的最基本思想,让读者知道爬虫其实是一件非常简单的事情。

    爬虫代码改进:这部分是一系列文章,从程序设计的角度来讲,是爬虫中要掌握的基本代码设计思路。主要从两方面对之前代码进行改进:一个是代码设计的角度,让读者习惯于定义函数、使用生成器等;第二是展现多页抓取、抓取二级页面的代码逻辑。

    爬虫相关库的安装:讲述本专题将会使用到的所有库的安装方法,有的简单,有的会有些复杂。这篇文章主要帮助读者扫除学习过程中不必要的障碍。

    学完这三部分,读者就可以自由抓取数据量不大、又没有反爬机制的网站了(其实这种网站还是非常多的)。

    网页解析与数据存储

    python中提供了很多网页解析方法;同时,根据不同的需求可能要存储成不同文件格式或数据库,所以这一部分将二者合起来讲。每一部分一篇理论,一篇实战;每一部分使用一个解析库,存储为一种文件格式。

    注:这些解析方法是彼此替代的关系(虽然各有优劣),基本上只要掌握一种就可以了,而文件存储最好全部掌握

    beautifulsoup详解:这篇文章全面讲解beautifulsoup解析库的使用

    bs4+json抓取实战:json介绍、抓取stackoverflow中python最新问题数据存储到json文件

    xpath详解:这篇文章全面讲解xpath解析语法的使用

    xpath+mongodb抓取实战:抓取伯乐在线python爬虫页面数据存储到mongodb数据库

    pyquery详解:这篇文章全面讲解css解析语法的使用

    pyquery+mysql抓取实战:抓取赶集网小狗数据存储到mysql

    正则表达式+csv/txt抓取实战:正则表达式网上教程非常多,这里对使用方法就不赘述了,只是提供正则用于网页抓取的方法。这里抓取豆瓣top250中相对比较难整理的数据。

    selenium详解:这篇文章全面讲解beautifulsoup解析库的使用

    selenium抓取实战:抓取新浪微博数据

    各种网页解析库的对比

    到这里就把流行的网页解析库和数据存储方式讲了一个遍,掌握这些之后,网页解析和数据存储都难不倒你了,你就可以专心攻克各种反爬虫机制了。

    友情提醒:对于没有时间的同学来说,这部分其实都可以不用系统地学,先行略过,看一些反爬措施,等到遇到问题,再把文章当文档一样查就可以了,不过事先学过的话,写代码会很得心应手。

    积累经验

    在实际操作过程中,我们会遇到一些阻碍,比如限制headers、登录验证、限制ip、动态加载等反爬手段,还有爬app,get/post请求等等。

    这些都是一个一个的小问题,在有了之前基础的前提下,解决这些问题应该不是难事。这个过程最重要的就是积累,多爬多掉坑,经验自然就丰富了。

    这部分就以每一篇文章解决一个问题的形式来讲,考虑到本人水平有限,肯定不能覆盖所有的坑,尽量填吧!

    一些简单的反爬虫技巧:包括UA设置及技巧,cookies设置,延迟等最基本的反爬手段

    使用代理:抓取页面非常多的时候,我们的ip地址会被封掉,所以就可以使用代理来不断更换ip

    ajax动态加载网页的抓取

    看完上面这三篇文章,多数的网页都可以自由抓取了,反爬技巧可以先看到这里,先去学scrapy框架,使日常的爬虫变得更方便,如果有其他网页涉及到其他反爬手段现查就可以了。

    抓包介绍

    网页状态码解析

    post请求

    抓取app数据

    requests深入介绍

    scrapy爬虫框架系列:这个系列会再重新从scrapy的安装,基本概念开始讲起,逐渐深入讲解。

  • 相关阅读:
    elasticsearch如何设计索引
    LinkedList 的实现原理
    聊聊elasticsearch7.8的模板和动态映射
    elasticsearch7.8权限控制和规划
    cloudera manager server迁移
    2020年终总结
    工作两年半的一次复盘
    聊聊数据结构和算法
    AutoMapper源码解析
    [源码解析] 并行分布式框架 Celery 之 worker 启动 (2)
  • 原文地址:https://www.cnblogs.com/miaoxiaonao/p/8951274.html
Copyright © 2020-2023  润新知