php抓取网页标签(萧萧python教学之Python3.7流程及教学方法汇总(一))

优采云 发布时间: 2022-03-15 14:07

  php抓取网页标签(萧萧python教学之Python3.7流程及教学方法汇总(一))

  晓晓蟒蛇教学

  

  1 环境

  Windows7 x64

  Python 3.7

  2 过程

  i) 配置相关库

  ii) 抓取网页源代码信息

  iii) 使用函数爬取特定标签中不同参数的文本

  3 代码

  3.1 配置相关库(请求和BS4)

  进入

  from urllib.request import urlopen #获取用于请求打开网页的库

  from bs4 import BeautifulSoup #获取网页解析库

  输出

  导入爬虫相关库

  

  3.2 爬取网页源代码

  进入

  html=urlopen("") #获取html结构和内容

  bs0bj=BeautifulSoup(html) #提取名称信息

  输出

  爬取特定网页的结构和内容

  BeautifulSoup从网页源码中爬取名字信息

  评论

  name 属性用于标识提交给服务器的表单数据,或者通过 JavaScript 在客户端引用表单数据。

  只有设置了 name 属性的表单元素才能在提交表单时传递其值。

  

  3.3 爬取特定标签中不同参数的文本

  BeautifulSoup 中的 find() 和 findAll() 函数可以通过标签的不同属性找到想要的标签组或单个标签

  标签

  3.3.1 文本参数文本

  进入

  nameList=bs0bj.findAll(text="the Prince") #在网页中查找收录“王子”内容的标签

  print(len(nameList)) #统计字符“王子”出现的次数

  输出

  在收录“王子”的网页上查找并打印标签

  计算字符“王子”的出现次数

  评论

  text 使用标签的文本内容来匹配,而不是标签属性

  len() 函数返回字符串的长度或项目数(当变量收录多个项目/元素时)

  

  3.3.2 关键词参数关键字

  进入

  allText = bs0bj.findAll(id="text") #关键词参数关键字,可以选择指定属性的标签

  打印(allText[0].get_text())

  输出

  打印网页的所有文本内容

  评论

  关键词参数关键字可以选择具有指定属性的标签

  

  3.3.3标签参数标签

  进入

  tagList=bs0bj.findAll({"h1","h2"})#返回HTML文档h1标题标签的列表

  打印(tagList[0].get_text())

  输出

  返回收录 HTML 文档中的 h1、h2 标题标签的列表

  评论

  标记参数标记可以传递一个或多个标记名称的 Python 列表作为标记参数

  

  3.3.4个属性参数属性

  进入

  nameList=bs0bj.findAll("span",{"class":"green"}) #提取所有span标签下的绿色文字内容

  for name in nameList: #注意for的用法:遍历列表中的所有名字

  print(name.get_text()) #清除标签信息,打印字符名称列表

  输出

  使用 bs0bj.findAll(tagName, tagAttributes) 提取仅收录在

  span> 标签中的文本,获取战争与和平角色名称列表

  评论

  bs0bj.tagName 只能获取页面中第一个指定的标签,而 bs0bj.findAll(tagName,

  tagAttributes) 获取页面中所有指定的标签

  name.get_text() 将清除 HTML 文档中的所有标签、超链接和段落,并返回一个没有标签的字符串

  文本,因此通常在打印、存储和操作数据时最后使用。一般来说,HTML 文档的标记应该被保留

  签名结构便于 BeautifulSoup 对象搜索。

  注意 for 的用法:遍历列表中的所有名称

  

  4 全文

  代码全文如下:

  ################################################# #############################

  # 爬虫

  # 作者:莱诺克斯

  # 数据:2019.09.30

  # 许可证:BSD 3.0

  ################################################# #############################

  # 配置相关库

  from urllib.request import urlopen #获取请求打开网页的库

  from bs4 import BeautifulSoup #获取网页解析库

  # 抓取网页源代码信息

  html=urlopen("")#获取html结构和内容

  bs0bj=美汤(html)

  # 爬取特定标签中不同参数的文本

  #文本参数文本

  nameList=bs0bj.findAll(text="the Prince")#在网页中查找收录“王子”内容的标签

  print(len(nameList)) #统计字符“王子”出现的次数

  # 关键词参数关键字

  allText = bs0bj.findAll(id="text")#关键词参数关键字,可以选择指定属性的标签

  打印(allText[0].get_text())

  #标签参数标签

  tagList=bs0bj.findAll({"h1","h2"})#返回HTML文档h1标题标签的列表

  打印(tagList[0].get_text())

  # 属性参数属性

  nameList=bs0bj.findAll("span",{"class":"green"})#提取所有span标签下的绿色文字内容

  for name in nameList: #注意for的用法,遍历列表中的所有名字

  print(name.get_text()) #清除标签信息,打印字符名称列表

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线