爬虫之简单基础

一、概念及组成

1.爬虫,一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。

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

(1)调度器:相当于一台电脑的CPU,主要负责调度URL管理器、下载器、解析器之间的协调工作。
(2)URL管理器:包括待爬取的URL地址和已爬取的URL地址,防止重复抓取URL和循环抓取URL,实现URL管理器主要用三种方式,通过内存、数据库、缓存数据库来实现。

(3)网页下载器:通过传入一个URL地址来下载网页,将网页转换成一个字符串,网页下载器有urllib2(Python官方基础模块)包括需要登录、代理、和cookie,requests(第三方包)

(4)网页解析器:将一个网页字符串进行解析,可以按照我们的要求来提取出我们有用的信息,也可以根据DOM树的解析方式来解析。网页解析器有正则表达式(直观,将网页转成字符串通过模糊匹配的方式来提取有价值的信息,当文档比较复杂的时候,该方法提取数据的时候就会非常的困难)、html.parser(Python自带的)、beautifulsoup(第三方插件,可以使用Python自带的html.parser进行解析,也可以使用lxml进行解析,相对于其他几种来说要强大一些)、lxml(第三方插件,可以解析 xml 和 HTML),html.parser 和 beautifulsoup 以及 lxml 都是以 DOM 树的方式进行解析的。

(5)应用程序:就是从网页中提取的有用数据组成的一个应用。

二、爬虫适用的语言

PHP、C/C+、Java、Python

三、爬虫分类

1)、通用爬虫 ​:搜索引擎

1.功能: 访问网页 -> 抓取数据 -> 数据处理 -> 提供检索服务

2.工作流:
(1).给定一个起始URL, 存于爬取队列中
(2).爬虫程序从队列中取出url, 爬取数据
(3).解析爬取数据, 获取网页内的所有url, 放入爬取队列
(4).爬虫程序从队列中取出url, 爬取数据

4.缺点:获取的内容大多没有用处,不能精确的得到数据

5.协议: robots协议用来约定哪些内容允许哪些爬虫抓取
格式为:url/robots.txt,
如https://www.baidu.com/robots.txt等

2)、 聚焦爬虫

定义:聚焦爬虫指针对某一领域根据特定要求实现的爬虫程序, 抓取需要的数据(垂直领域爬取)
流程:
(1).确定爬取的url, 模拟浏览器请服务器发送请求
(2).获取响应数据并进行数据解析
(3).将目标数据持久化到本地

四、服务器常见端口

1.ftp: File Transfer Protocol的缩写, 即文件传输协议. 端口:21
2.ssh: Secure Shell的缩写, 用于远程登录会话. 端口:22
3.MySQL: 关系型数据库, 端口:3306
4.MongoDB: 非关系型数据库, 端口:27017
5.Redis: 非关系型数据库, 端口:6379
(其中,在项目创建的时候在settings配置中会用到端口号)

五、简单爬虫案例

import re

import requests

a = requests.get('http://www.521609.com/daxuexiaohua/')

# with open('text3.html','w',encoding='ISO-8859-1') as f :
#     for i in a.text:
#         f.write(i)
#     f.close()
s = re.findall('<img src="/(.*)" width="160" ', a.text)
lit = []

for i in s:
    h = 'http://www.521609.com/' + i
    lit.append(h)
with open('text3.text', 'w', encoding='utf-8') as f:
    for i in lit:
        f.write(i)
        f.write('\n')
    f.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值