Python网络爬虫学习建议,初学者需要哪些准备

2024-12-22 13:30:12
推荐回答(2个)
回答1:

  1. 了解html和简单的js,只有了解你要抓取的页面,在获取后才能有效分析。建议系统学习html这个很简单;js较复杂不必多看,可以边分析边百度资料学习。

  2. python方面,了解urllib和urllib2两个库,在抓取页面要用到。Cookielib这个库配合urllib2可以封装opener,在需要cookie时可以自动解决,建议了解一些,会封装opener即可。re正则表达式库可以帮助你高效的从页面中分离要的内容,正则表达式要略知一二。

  3. 学习一些抓包知识,有些网站防爬,需要人工浏览一些页面,抓取数据包分析防爬机制,然后做出应对措施。比如解决cookie问题,或者模拟设备等。

作为初学者,学会以上知识基本上爬取任何网站都没问题了,但更重要的是耐心和细心。毕竟爬取网站时并不知道网站已开始是怎么设计的,有哪些小坑,分析起来这些还是比较烧脑,但是分析成功很有成就感。

回答2:

现在之所以有这么多的小伙伴热衷于爬虫技术,无外乎是因为爬虫可以帮我们做很多事情,比如搜索引擎、采集数据、广告过滤等,以Python为例,Python爬虫可以用于数据分析,在数据抓取方面发挥巨大的作用。
  但是这并不意味着单纯掌握一门Python语言,就对爬虫技术触类旁通,要学习的知识和规范还有喜很多,包括但不仅限于HTML 知识、HTTP/HTTPS 协议的基本知识、正则表达式、数据库知识,常用抓包工具的使用、爬虫框架的使用等。而且涉及到大规模爬虫,还需要了解分布式的概念、消息队列、常用的数据结构和算法、缓存,甚至还包括机器学习的应用,大规模的系统背后都是靠很多技术来支撑的。
  零基础如何学爬虫技术?对于迷茫的初学者来说,爬虫技术起步学习阶段,最重要的就是明确学习路径,找准学习方法,唯有如此,在良好的学习习惯督促下,后期的系统学习才会事半功倍,游刃有余。
  用Python写爬虫,首先需要会Python,把基础语法搞懂,知道怎么使用函数、类和常用的数据结构如list、dict中的常用方法就算基本入门。作为入门爬虫来说,需要了解 HTTP协议的基本原理,虽然 HTTP 规范用一本书都写不完,但深入的内容可以放以后慢慢去看,理论与实践相结合后期学习才会越来越轻松。关于爬虫学习的具体步骤,我大概罗列了以下几大部分,大家可以参考:
  网络爬虫基础知识:
  爬虫的定义
  爬虫的作用
  Http协议
  基本抓包工具(Fiddler)使用
  Python模块实现爬虫:
  urllib3、requests、lxml、bs4 模块大体作用讲解
  使用requests模块 get 方式获取静态页面数据
  使用requests模块 post 方式获取静态页面数据
  使用requests模块获取 ajax 动态页面数据
  使用requests模块模拟登录网站
  使用Tesseract进行验证码识别
  Scrapy框架与Scrapy-Redis:
  Scrapy 爬虫框架大体说明
  Scrapy spider 类
  Scrapy item 及 pipeline
  Scrapy CrawlSpider 类
  通过Scrapy-Redis 实现分布式爬虫
  借助自动化测试工具和浏览器爬取数据:
  Selenium + PhantomJS 说明及简单实例
  Selenium + PhantomJS 实现网站登录
  Selenium + PhantomJS 实现动态页面数据爬取
  爬虫项目实战:
  分布式爬虫+ Elasticsearch 打造搜索引擎