提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
作为初学者慢慢开始学习爬虫,下面是在网上找的一些简单的知识,感觉写的比较好,整理了一下,作为笔记存入吧,还是要感谢一下。
一、什么是爬虫
爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。
二、Python爬虫架构
Python 爬虫架构主要由五个部分组成,分别是调度器、URL管理器、网页下载器、网页解析器、应用程序(爬取的有价值数据)。
调度器:相当于一台电脑的CPU,主要负责调度URL管理器、下载器、解析器之间的协调工作。
URL管理器:包括待爬取的URL地址和已爬取的URL地址,防止重复抓取URL和循环抓取URL,实现URL管理器主要用三种方式,通过内存、数据库、缓存数据库来实现。
网页下载器:通过传入一个URL地址来下载网页,将网页转换成一个字符串,网页下载器有urllib2(Python官方基础模块)包括需要登录、代理、和cookie,requests(第三方包),这里我比较喜欢使用requests包
网页解析器:将一个网页字符串进行解析,可以按照我们的要求来提取出我们有用的信息,也可以根据DOM树的解析方式来解析。网页解析器有正则表达式(直观,将网页转成字符串通过模糊匹配的方式来提取有价值的信息,当文档比较复杂的时候,该方法提取数据的时候就会非常的困难)、html.parser(Python自带的)、beautifulsoup(第三方插件,可以使用Python自带的html.parser进行解析,也可以使用lxml进行解析,相对于其他几种来说要强大一些)、lxml(第三方插件,可以解析 xml 和 HTML),html.parser 和 beautifulsoup 以及 lxml 都是以 DOM 树的方式进行解析的。
应用程序:就是从网页中提取的有用数据组成的一个应用。
三、 需要的基础知识
python基本语法与数据结构;文件/数据库相关知识;函数/面向对象编程;异常处理;并发处理,这里我觉得只要会C语言的一些基础,最简单的爬虫也是可以实现的。
相关概念:http协议;get/post; cookie/useragent/proxy….(get方法行进抓取;post方法进行登录)
模块:urllib/requests/scrapy
re /bs4/xpath/css
四、快速构建爬虫
http详解:
使用get/post 方法,web浏览器/抓包工具 进行http协议的分析,页面信息定位;
urllib模块详解:
get方法行进抓取;post方法进行登录
正则表达式与BS4模块提取页面信息:
反扒与处理方式:
代理使用:
高并发代理爬虫实现:
Requests模块与文件上传:
http:超文本传输协议,客户端和服务器之间数据传输协议(基于TCP)
服务器默认端口:80
浏览器首先进行DNS域名的一个解析,得到一个IP,连接服务器形成一个通路,就可以数据传输,请求得到一个HTML