静态爬虫、词频统计、词云图部分库的常用函数
创始人
2025-05-30 08:36:31

文章目录

  • 1.网页抓取库Urllib
  • 2.网页解析库Beautifulsoup
  • 3.Shutil库(os库的补充)
  • 4.jieba库
  • 5.re库
  • 6.os库
  • 7.wordCloud库

1.网页抓取库Urllib

库的导入:import urllib.request

  1. res=urllib.request.urlopen(url)#爬取网页源代码的方法,url参数用于指定要请求的路径(未指定data参数时,默认使用get方法)
  2. res.read().decode(‘utf-8’)#响应返回的内容
  3. print(type(res))#查看响应的类型
  4. print(res.status)#打印响应状态码
  5. print(res.getheaders())#打印请求头
  6. print(res.getheader(“Server”))#打印请求头中Server属性的值(表示服务端使用Web服务器是什么软件,如Tomcat、Nginx等)

2.网页解析库Beautifulsoup

库的引入:from bs4 import BeautifulSoup
Soup=BeautifulSoup(content,”html.parser”)#’html.parser’Python 的内置标准库,执行速度适中,文档容错能力强
result=soup.prettify() # 格式化输出
result=soup.title # 取title标签
result=soup.title.name # 取title标签名
result=soup.title.string # 取title标签内容,若标签下有多个内容时,返回None
result=soup.title.get_text() # 取title标签内容,若标签下有多个内容时,全部返回
result=soup.p # 取p标签,只会取第一个
result=soup.p[‘class’]# 取p标签的类
result=soup.a# 取a标签(第一个)
result=soup.a[‘href’]# 取a标签的href属性
//find – 返回符合查询条件的第一个标签
result=soup.find(name=“a”) # 指定标签名,同 soup.find(“a”)

result=soup.find(attrs={‘id’:‘link1’})# 指定属性
result=soup.find(text=‘Elsie’)# 指定内容
result=soup.find(name=‘p’,attrs={‘class’:‘story’})# 组合条件
result=soup.find_all(‘a’) # 取出所有a标签#find_all --list
result=soup.find_all(‘a’,limit=2) # limit限制返回标签数
result=soup.find_all(attrs={‘class’:‘sister’}) # 取出所有属性 class为sister的标签
result=soup.a.attrs # 获取a标签的所有属性
result=soup.select_one(‘.sister’) # 取出class为sister的第一个标签
//CSS选择器 – list

result=soup.select(‘.sister’) # 类选择器,取出所有class为siser的标签
result=soup.select(‘#link1’) # id选择器,取出所有id为link1的标签
result=soup.select(‘head title’) # 取head标签中的title标签
result=soup.select(‘title,.title’) # 取title标签 和 class为title的标签
result=soup.select(‘a[id=“link2”]’) # 取 a标签中 id为link2的标签
 result=soup.select(‘.sister’)[0].get_text() # 取class为sister的第一个标签的内容 ,标签包裹的内容
result=soup.select(‘.sister’)[1].get(‘href’) # 取class为siser的第二个标签的href属性

3.Shutil库(os库的补充)

shutil.copy(src,dst)#复制文件,src表示源文件,dst表示目标文件夹,当移动到一个不存在的“目标文件夹”,系统会将这个不存在的“目标文件夹”识别为新的文件夹,而不会报错。
shutil.copytree(src,dst)#复制文件夹,src表示源文件夹,dst表示目标文件夹,这里只能是移动到一个空文件夹,而不能是包含其他文件的非空文件夹,否则会报错PermissionError。
shutil.move(src,dst)#移动文件/文件夹;src表示源文件/文件夹,dst表示目标文件夹;文件/文件夹一旦被移动了,原来位置的文件/文件夹就没了。目标文件夹不存在时,会报错;
shutil.rmtree(src)#删除文件夹;src表示源文件夹;区别这里和os模块中remove()、rmdir()的用法,remove()方法只能删除某个文件,mdir()只能删除某个空文件夹。但是shutil模块中的rmtree()可以递归彻底删除非空文件夹;
zipobj.write()#创建一个压缩包 zipobj相当于要进行操作的文件;
zipobj.namelist()#读取压缩包中的文件信息;
zipobj.extract()#将压缩包中的单个文件,解压出来;
zipobj.extractall()#将压缩包中所有文件,解压出来;

4.jieba库

库的导入:import jieba
jieba.cut(s) #精确模式,把文本精确的切分开,不存在冗余单词
jieba.lcut(s,cut_all=True) #全模式,把文本中所有可能的词语都扫描出来,有冗余
jieba.lcut_for_search(s) #搜索引擎模式,在精确模式基础上,对长词再次切分:
jieba.load_userdict(dict_path)#开发者可以指定自己自定义的词典,以便包含 jieba 词库里没有的词

5.re库

库的导入:import re
re库Python中使用正则表达式需要用到的库,是Python的标准库
re.match(pattern, string, flags=0) #从一个字符串的开始位置起匹配正则表达式,返回match对象。如果不是起始位置匹配成功的话,match()就返回none,可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式
re.search(pattern, string, flags=0) #在一个字符串中匹配正则表达式的第一个位置,返回match对象,匹配成功re.search方法返回一个匹配的对象,否则返回None。
re.match与re.search的区别,re.match 只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回 None,而 re.search 匹配整个字符串,直到找到一个匹配。
re.sub(pattern, rep1, string, count=0, flags=0)#在一个字符串中替换所有匹配正则表达式的子串,返回替换后的字符串,repl:替换的字符串,也可为一个函数,count:模式匹配后替换的最大次数,默认 0 表示替换所有的匹配,flags:编译时用的匹配模式,数字形式,前3个参数为必选参数,后两个为可选参数
re.findall(pattern, string, flags=0) 或 re.findall(string[, pos[, endpos]]) #搜索字符串,返回全部匹配的子串,返回的是列表类型,如果没有找到匹配的,就返回一个空列表,注:match(匹配开始位置的1个) 和 search(匹配符合的第1个)匹配一次 ,而 findall 是匹配所有,pos:可选参数,指定字符串的起始位置,默认为 0。endpos:可选参数,指定字符串的结束位置,默认为字符串的长度、
re.finditer(pattern, string, flags=0)和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,返回一个匹配结果的迭代器(迭代类型),每个迭代元素是match对象
re.splite(pattern, string[, maxsplit=0, flags=0])#将一个字符串按照正则表达式匹配结果分割,返回的是列表类型,maxsplit:分隔次数,maxsplit=1 分隔一次,默认为 0,不限制次数
re.compile(pattern[, flags])#compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用

6.os库

os.rename(目标文件名,新文件名)#文件重命名
os.mknod(‘./new_file.txt’)#创建文件,windows下不支持
os.mkdir(文件夹名字)#创建文件夹
os.rmdir(文件夹名字)#删除文件夹
os.getcwd()#获取当前目录
os.chdir()#改变默认目录
os.listdir()#获取目录列表
os.path.dirname(path)#返回路径的上一级路径字符串
os.path.basename(path)#返回路径的最后一级目录名或文件名
os.path.splitext(file_name)#返回文件名和其后缀组成的元组
os.path.abpath(file)#获取当前文件的绝对位置
os.path.abpath(string)#返回当前工作目录的路径加上string组成的路径字符串
os.path.isdir(path)#判断一个路径是否是一个目录(文件夹)
os.path.isfile(path)#判断一个路径是否是一个文件
os.listdir(dir_path)#以列表的形式返回一个目录(dir_path只能是目录,不能是文件名路径)下的所有文件(全称)和文件夹名称
os.removedirs(dir_path)#删除指定空目录(空文件夹)
os.path.exists(path)#判断一个路径是否存在
os.path.realpath(path)#返回path的真实路径
os.path.join(path,name)#路径拼接
os.path.split()#返回一个路径的目录名和文件名
os.stat(file)#获得文件属性
os.path.getsize(name)#获得文件大小
os.path.isabs()#判断是否为绝对路径
os.urandom(n)#随机生成n个字节的字符串,可以作为随机加密的key使用。

7.wordCloud库

库的导入:import wordcloud
词云绘制步骤
-步骤1:配置对象参数
-步骤2:加载词云文本
-步骤3:输出词云文件

w=wordcloud.WordCloud(参数)

在这里插入图片描述
在这里插入图片描述

w.generate(txt) #向WordCloud对象w中加载文本txt

w.to_file(filename) #将词云输出为图像文件,.png或.jpg格式eg.w.to_file(“outfile.png”)

相关内容

热门资讯

初识C语言(3) 操作符,关键字(typedef、static),指针
一口一口吃掉yolov8(2) 前面介绍了训练的第一个部分,也是大部分人在网上找得到的文章,但是后面2个...
lol女枪西部牛仔有没有特效,... lol女枪西部牛仔有没有特效目录lol女枪西部牛仔有没有特效烬哪个皮肤手感好?lol女枪西部牛仔有没...
灭鼠神器超声波管用吗,超声波灭... 灭鼠神器超声波管用吗目录灭鼠神器超声波管用吗超声波灭老鼠有效果吗?电子猫超声波驱鼠器电子灭鼠器,管用...
5173交易账号收多少手续费啊... 本篇文章极速百科给大家谈谈5173交易账号收多少手续费啊,以及5173账号交易收费标准对应的知识点,...
父亲节是每年的几月几号呢,父亲... 父亲节是每年的几月几号呢目录父亲节是每年的几月几号呢父亲节母亲节是几月几号 父亲节和母亲节是每年的几...
53-exec进程替换 exec进程替换 一.exec系列 1.execl #include#include#include...
CF1737E Ela Goe... CF1737E Ela Goes Hiking 题目大意 nnn 只蚂蚁站成一排,第 ...
福州一日游哪里好玩,福州一日游... 福州一日游哪里好玩目录福州一日游哪里好玩福州一日游必去景点福州一天游,求推荐去哪福州一日游,有什么好...
新车5到6万买什么车好,预算5... 新车5到6万买什么车好目录新车5到6万买什么车好预算5万,有哪些车款可以推荐?买车5-6万买什么车好...
网络语言JMS是什么意思(jm... 本篇文章极速百科给大家谈谈网络语言JMS是什么意思,以及jms是什么意思中文翻译对应的知识点,希望对...
苹果6id锁怎么强制解除,苹果... 苹果6id锁怎么强制解除目录苹果6id锁怎么强制解除苹果六忘记ID激活锁怎么办如何强制解除id锁的方...
机器人阻抗控制(二) #阻抗控制 #机器人控制 #动力学方程 《Cartesian Impedance Control o...
SkyWalking 日志收集 SkyWalking 日志收集一、需求二、步骤2.1 pom文件引入依赖2.2 logback-sp...
DETR网络模型构建 这篇文章主要为记录DETR模型的构建过程 首先明确DETR模型的搭建顺序:首先是bac...
算法强化每日一题--组队竞赛 大家好 先看看题目 链接:组队竞赛__牛客网 [编程题]组队竞赛 牛牛举办了一次编...
什么是人际交往,什么是人际交往... 什么是人际交往目录什么是人际交往什么是人际交往?影响人际交往的因素有哪些?什么是人际交往人际交往指的...
自考大专什么时候报名,自考大专... 自考大专什么时候报名目录自考大专什么时候报名自考大专怎么报名 报考时间在几月份?每年的什么时候报名自...
蚕的变化过程,蚕的一生经历了哪... 蚕的变化过程目录蚕的变化过程蚕的一生经历了哪几个阶段?咨询:蚕的演变过程?蚕的生长变化顺序是怎样的?...
汽车出现service是什么意... 汽车出现service是什么意思目录汽车出现service是什么意思车上的service是什么意思?...
arcpy基础篇(6)-制图脚... arcpy.mapping模块可以实现地图制图的自动化,它的具体功能包括管理地图文档、...
基于 Zynq 的振动台控制器... 3 振动台控制器架构设计与实现 如前所述,Zynq-7000 本身已经具有了独特的架...
为什么手机收不到验证码短信,为... 为什么收不到短信验证码 3. 曾经向运营商申请过屏蔽短信号码,或添加过黑名单。 4. 短...
中国移动如何免费领取10G流量... 中国移动如何免费领取10G流量目录中国移动如何免费领取10G流量免费领10g流量的软件中国移动送10...
描写孩子童真的句子,孩子童真的... 描写孩子童真的句子目录描写孩子童真的句子孩子童真的唯美句子有哪些?描写童真童趣的一段话,急急!!!描...
QQ空间如何自定义封面,进入q... QQ空间如何自定义封面目录QQ空间如何自定义封面进入qq空间时的封面怎么设置?不花钱的那种怎样制作Q...
55-kill命令及实现kil... kill命令及实现kill命令 一. kill命令简介 在Linux系统中,kill命...
【问题与方法】如何使用vsco... 码字不易,如果各位看官感觉该文章对你有所帮助,麻烦点个关注,...
OMM导致tomcat引用假死 背景 在开发测试环境发现一个奇怪的情况,因查询100w条数据导致OOM,...
座落是哪个坐,座落是座还是坐?... 座落是哪个坐目录座落是哪个坐座落是座还是坐?座位是广字框的左还是哪个座?座落的意思座落是哪个坐 ...