首页 > 编程语言 >python爬虫介绍

python爬虫介绍

时间:2024-09-26 20:50:19浏览次数:3  
标签:python request 抓取 介绍 爬虫 URL urllib 网络

python网络爬虫介绍

网络爬虫就是按照一定的规则,自动地抓取网络上的各种信息的程序。

网络爬虫分类

按照系统结构和实现技术,可以把分为通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、深层网络爬虫。实际应用中可以将这几种结合起来使用。

 

通用网络爬虫:如网络搜过引擎,根据提示信息尽可能多的收集互联网上的信息。

聚焦网络爬虫:根据设置抓取网页上某一特定主题的内容。

增量式网络爬虫:只抓取已经抓取的网页的更新内容。

深层网络爬虫:深层指定的是一些网站中需要登录、提交内容等等操作才能获取内容,相对于网页上的静态内容。

爬虫基本工作流程:

1  首先选取一部分种子 URL。

2 将这些 URL放人待抓取 URL 队列。

3 从待抓取 URL, 队列中读取待抓取队列的 URL,解析 DNS,并且得到主机的 IP,并将URL,对应的网页下载下来,存储进已下载网页库中。此外,将这些 URL放进已抓取 URL队列。

4 分析已抓取 URL队列中的 URL,从已下载的网页数据中分析出其他 URL,并和已抓取的 URL,进行比较去重,最后将去重过的 URL放入待抓取 URL队列,从而进入下一个循环。

用python实现HTTP请求:

Python中实现 HTTP请求的三种方式:urllib2/urllib、httplib/urllib 以及 Requests 。

在python2中需要urllib和urllib2配合使用。在python3中urllib2改成了urllib.request,urllib2已经停用了。

在python3中的urllib包含的模块:

l  urllib.request 用于打开和读取URL

l  urllib.error 用于处理前面request引起的异常

l  urllib.parse 用于解析URL

l  urllib.robotparser用于解析robots.txt文件

 

urllib.request.urlopen语法

urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

打开一个url地址发送请求,如果没有data参数,则是get请求,有的话是post请求。

 

例子1:

from urllib import request

response = request.urlopen('https://www.baidu.com')
html = response.read()print(html)

结果:

python爬虫介绍_python

标签:python,request,抓取,介绍,爬虫,URL,urllib,网络
From: https://blog.51cto.com/u_16427934/12121577

相关文章

  • 自我介绍
    1.大家好,我是20241417罗若元,我想用“乐观”“佛系”“内敛”来描述我自己,首先我是个比较乐观的人,看待各种事情也总喜欢先往好处想,通常都在没考虑后果的情况下处处碰壁,为此,我没少挨遭罪。但我面对各种困难的态度都如出一辙,并不像大多数人会为自己的失误哀声叹气,我会迅速从阴霾走出,......
  • 自我介绍
    慢热幽默热心嘻嘻大家好,我是来自密码科学与技术系信息安全专业的田诗橙。我的性格比较慢热,大家初见我时可能会觉得我不太好相处,哈哈其实不是这样的哦,我呀只是不太会找话题,所以不太会主动找陌生人聊天,实际上,大家在一起学习生活,混熟了之后会了解到一个不一样的我。了解我的人都知......
  • 【CMake】一、CMake 介绍
    CMake基础介绍1.CMake介绍2.CMake安装3.入门样例-Hello-world工程1.CMake介绍CMake是一个开源、跨平台的构建系统,主要用于软件的构建、测试和打包。CMake使用平台无关的配置文件CMakeLists.txt来控制软件的编译过程,并生成适用于不同编译器环境的项目......
  • Python轴承故障诊断 (四)基于EMD-CNN的故障分类
    往期精彩内容:Python-凯斯西储大学(CWRU)轴承数据解读与分类处理三十多个开源数据集|故障诊断再也不用担心数据集了!Python轴承故障诊断(一)短时傅里叶变换STFT-CSDN博客Python轴承故障诊断(二)连续小波变换CWT-CSDN博客Python轴承故障诊断(三)经验模态分解EMD-CSDN博客......
  • [转]线性代数库介绍
    1、BLAS基础线性代数程序集(BasicLinearAlgebraSubprograms),基于Fortran实现的基本向量乘法,矩阵乘法的一种科学计算函数库,也是一组向量和矩阵运行的接口规范标淮,规范向量之间的乘法、矩阵之间的乘法等,BLAS实际上是将复杂的矩阵、向量运算简化成类似加减乘法一样的简单计算单元,各......
  • Python工程和科学计算1简介
    1简介本章简要介绍了Python编程语言的可扩展性、应用领域和功能。如果您需要在科学工作中进行大量计算,并希望以图形化的方式呈现计算结果,那么您应该认真考虑使用Python。Python是一种编程语言,其功能与MATLAB相似,且是科学计算目前用户最多的首选语言。1.1开发环境1.1.1......
  • linux 操作系统下dig命令的使用和介绍
    linux操作系统下dig命令的使用和介绍dig(DomainInformationGroper)是一个强大的命令行工具,用于查询DNS(域名系统)服务器,获取有关域名及其相关记录的信息。它广泛用于网络管理和故障排除dig命令的基本功能查询DNS信息:dig可以查询各种类型的DNS记录,包括A记录(IP地址)、MX记......
  • ECU电控软件开发及测试介绍
        伴随着电动化、智能化、网联化等技术发展的时代背景,各行各业电子电气架构都在发生深度变革。新型架构逐渐取代传统架构,比如汽车、工程机械、储能、船舶等领域,电子电气架构从传统分布式向域集中式,甚至向着中央集中式发展,控制器功能呈现集中化、复杂化的特点。为了提升开......
  • 自我介绍
    大家好,我叫袁坷炘。我觉得可以用乐观,热情,爱幻想,有点不切实际来形容我。我有一点慢热,一开始可能并不能看出我有多开朗,但是跟我相处久了,就可以发现其实我有点疯,是个戏精,经常随地大小演,嘿嘿。来找我帮忙时我肯定尽我全力,所以我还是比较乐于助人的。至于爱幻想,我经常对自己以后的生活......
  • python打包whl文件
    在python中,使用setuptools库创建wheel包确保已安装wheel和setuptools#使用piplist查看已经安装的包piplist如果没有,就用下面的命令安装pipinstallwheelsetuptools在当前路径创建一个aaa的文件夹 在aaa里创建一个__init__.py的文件,内容如下classtest_......