Python爬虫介绍

Python爬虫介绍

 

什么是爬虫:

爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于咱们有价值的信息;html

 

Python爬虫架构:

Python爬虫架构主要由五个部分组成,分别是 调度器、URL管理器、网页下载器、网页解析器、应用程序(爬取的有价值数据)python

1)调度器:

至关于一台电脑的CPU,主要负责调度URL管理器、下载器、解析器之间的协调工做;正则表达式

2)URL管理器:

包括待爬取的URL地址和已爬取的URL地址,防止重复抓取URL和循环抓取URL,实现URL管理器主要用三种方式:经过内存、数据库、缓存数据来实现;数据库

3)网页下载器:

经过传入一个URL地址来下载网页,将网页转换成一个字符串,网页下载器有urllib(Python官方基础模块),包括须要登陆、代理和Cookie;还有requests(第三方包);缓存

4)网页解析器:

将一个网页字符串进行解析,能够按照咱们的要求来提取出咱们有用的信息,也能够根据DOM树的解析方式来解析;架构

网页解析器有:ide

1)正则表达式:url

    直观,将网页转成字符串经过模糊匹配的方式来提取有价值的信息;插件

    但当文档比较复杂的时候,该方法提取数据的时候就会很是困难;代理

2)html.parser:Python自带的;

3)beautifulsoup:第三方插件,能够使用Python自带的html.parser进行解析,也能够使用lxml进行解析;

4)lxml:第三方插件,能够解析xml和HTML;

html.parser和beautifulsoup,以及lxml都是以DOM树的方式进行解析的;

5)…

5)应用程序:

就是从网页提取的有用数据组成的一个应用;

调度器工做图解:

示例:

urllib实现下载网页内容:(PY3)

#!/usr/bin/python
# -*- coding:utf-8 -*-

import urllib.request
import urllib

url = 'http://www.baidu.com'
response = urllib.request.urlopen(url)
content = response.read().decode('utf-8')
print(content)

(content是html文档太长就不附在这里了)

 

其余的后续会有示例,咱们慢慢理解;

 

参考连接:

菜鸟教程《Python爬虫介绍