python爬虫

什么是爬虫?
爬虫是一种用来将网页上的数据进行筛选并进行保存的一种采集方式。普通用户的浏览器引擎搜索也是一种爬虫,它是大多数人使用的通用爬虫,它追求覆盖全网范围,但是检索的信息量巨大有很多我们所不需要的信息数据,于是聚焦爬虫应运而生,相对于通用爬虫,它更加具有针对性的批量的进行筛选并保存在指定位置,即使用它可以更加有针对性的采集数据。
爬虫的分类
==通用网络爬虫(General Purpose Web Crawler)==又被称为全网爬虫(Scalable Web Crawler),爬行对象从一些种子 URL 扩充到整个 Web,主要为门户站点搜索引擎和大型Web 服务提供商采集数据。 由于商业原因,它们的技术细节很少公布出来。 这类网络爬虫的爬行范围和数量巨大,对于爬行速度和存储空间要求较高,对于爬行页面的顺序要求相对较低,同时由于待刷新的页面太多,通常采用并行工作方式,但需要较长时间才能刷新一次页面。 虽然存在一定缺陷,通用网络爬虫适用于为搜索引擎搜索广泛的主题,有较强的应用价值。而且通用爬虫必须遵循 ROBOT 协议----是一种约定的规范;针对通用爬虫进行
的数据采集限制。
聚焦网络爬虫(Focused Crawler),又被称为主题网络爬虫(Topical Crawler)或者定向爬虫,是指选择性地爬行那些与预先定义好的主题相关页面的网络爬虫。 和通用网络爬虫相比,聚焦爬虫只需要爬行与主题相关的页面,极大地节省了硬件和网络资源,保存的页面也由于数量少而更新快,还可以很好地满足一些特定人群对特定领域信息的需求。增量式网络爬虫(Incremental Web Crawler)是指对已下载网页采取增量式更新和只爬行新产生的或者已经发生变化网页的爬虫,它能够在一定程度上保证所爬行的页面是尽可能新的页面。和周期性爬行和刷新页面的网络爬虫相比,增量式爬虫只会在需要的时候爬行新产生或发生更新的页面 ,并不重新下载没有发生变化的页面,可有效减少数据下载量,及时更新已爬行的网页,减小时间和空间上的耗费,但是增加了爬行算法的复杂度和实现难度。增量式网络爬虫的体系结构[包含爬行模块、排序模块、更新模块、本地页面集、待爬行 URL 集以及本地页面 URL 集等。
==累积式爬虫(Cumulative Crawler)==类似于增量式爬虫,但是增量式爬虫爬取数据的时候,如果之前爬取的数据发生变化,则重新爬取,而累计式抓取则不会。累积式爬虫是指从某一个时间点开始,通过遍历的方式抓取系统所能允许存储和处理的所有网页。在理想的软硬件环境 下,经过足够的运行时间,累积式抓取的策略可以保证抓取到相当规模的网页集合。但由于 Web 数据的动态特性,集合中网页的被抓取时间点是不同的,页面被更新的情况也不同,因此累积式抓取到的网页集合事实上并无法与真实环境中的网络数据保持一致
Deep Web 爬虫:Web 页面按存在方式可以分为表层网页(Surface Web)和深层网页(Deep Web,也称 Invisible Web Pages 或 Hidden Web)。 表层网页是指传统搜索引擎可以索引的页面,以超链接可以到达的静态网页为主构成的 Web 页面。Deep Web 是那些大部分内容不能通过静态链接获取的、隐藏在搜索表单后的,只有用户提交一些关键词才能获得的 Web 页面。例如那些用户注册后内容才可见的网页就属于 Deep Web。 2000 年 Bright Planet 指出:Deep Web 中可访问信息容量是 Surface Web 的几百倍,是互联网上最大、发展最快的新型信息资源。
使用python写的一个简单的爬虫代码
这是使用python写的一个爬虫代码。
import urlib.request //导入网络库
url = “http://www.sina.com.cn” //url是新浪的地址
response = urllib.request.urlopen(url) //获取url的地址里的信息,将信息传递给变量data
print(data) //打印所获取到的信息
with open(“sina.html”,“wb”) as f: //以字节数据保存在新建文档sina.html中,后缀名为htm,l打开后以浏览器打开
f.write(data) //写入data数据到sina.html
print(“采集完成”)
运行这个python程序之后会的到一个名为sina.html的文档,打开文档就是采集到的新浪首页
这就是最简单的爬虫采集

### Python爬虫的学习资源与使用方法 Python爬虫是一种高效的工具,用于自动化的网络信息采集。由于其丰富的库支持以及简洁易懂的语法特性,Python 成为了编写网络爬虫的最佳选择之一[^3]。 #### 学习Python爬虫的基础知识 学习Python爬虫不仅涉及理论知识的理解,还需要通过实际操作来加深印象。在移动设备上也可以轻松完成这些任务,因为手机端的Python环境配置较为简便,可以随时随地进行实践练习[^1]。 #### 推荐的Python爬虫教程列表 以下是几份高质量的Python爬虫教程推荐: - **基础篇** - 《一只小爬虫》[^2] - 《Python与简单网络爬虫的编写》[^2] - **进阶篇** - 《[Python]网络爬虫(五):urllib2的使用细节与抓站技巧》[^2] - 《[Python]网络爬虫(十):一个爬虫的诞生全过程(以山东大学绩点运算为例)》[^2] - **高级功能** - 《Python爬虫——抓取网页并解析HTML》[^2] - 《Python正则表达式指南》[^2] 除了上述具体的文章外,《Python爬虫新手指南及简单实战》也是一份非常适合初学者的内容,其中包含了详细的案例分析和代码演示[^3]。 #### 实践中的关键技术点 当开始构建自己的第一个爬虫项目时,需要注意以下几个方面: 1. 数据请求模块的选择,比如`requests`或内置的`urllib`。 2. HTML页面解析技术的应用,例如BeautifulSoup或者lxml库。 3. 对于复杂的数据提取需求,则可能需要用到正则表达式的辅助[^2]。 下面展示一段简单的爬虫脚本作为参考: ```python import requests from bs4 import BeautifulSoup url = 'https://example.com' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') titles = soup.find_all('h1') for title in titles: print(title.text.strip()) ``` 此段程序展示了如何访问目标网址,并从中提取所有的标题标签内容[^3]。 #### 工具扩展建议 如果计划进一步深入研究大数据量场景下的爬虫应用,那么像Pandas这样的数据分析框架将会非常有用。它可以方便地管理和转换所收集到的信息至结构化形式以便后续统计分析工作[^4]。 --- 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值