当前位置: 首页 > wzjs >正文

遵化市有做奇麟网站的吗外贸网站seo优化

遵化市有做奇麟网站的吗,外贸网站seo优化,仿腾讯视频网站,手机网站被禁止访问怎么设置打开文章目录 [TOC](文章目录) 前言一、安装bs4二、bs4的基础使用2.1 创建soup对象2.2 根据标签名查找节点2.3 根据函数来查找节点1. find函数2. find_all函数3. select函数 三、使用bs4获取节点信息3.1 获取节点内容3.2 获取节点的属性3.3 获取节点的属性值 四、测试练习 总结 前言…

文章目录

    • @[TOC](文章目录)
  • 前言
    • 一、安装bs4
    • 二、bs4的基础使用
      • 2.1 创建soup对象
      • 2.2 根据标签名查找节点
      • 2.3 根据函数来查找节点
        • 1. find函数
        • 2. find_all函数
        • 3. select函数
    • 三、使用bs4获取节点信息
      • 3.1 获取节点内容
      • 3.2 获取节点的属性
      • 3.3 获取节点的属性值
    • 四、测试练习
  • 总结

前言

在当今数据驱动的时代,网络爬虫技术已成为获取和分析网络信息的重要工具。Python 作为最受欢迎的编程语言之一,凭借其丰富的生态系统和简洁的语法,为开发者提供了强大的网页抓取能力。而在众多网页解析库中,BeautifulSoup 以其优雅的设计和易用性脱颖而出,成为 Python 爬虫领域的"瑞士军刀"。
BeautifulSoup 不仅能够高效地处理不规范的 HTML 文档,还提供了直观的 DOM 树遍历方法,让开发者能够像使用 jQuery 一样轻松提取所需数据。无论是简单的个人项目,还是复杂的企业级数据采集系统,BeautifulSoup 都能胜任。本文将带您深入了解 BeautifulSoup 的核心功能,从基础安装到实战技巧,通过具体示例展示如何利用这个强大的库来解析网页、提取数据并处理各种常见挑战。无论您是刚入门网络爬虫的新手,还是希望提升解析效率的经验丰富的开发者,都能从本文中获得有价值的见解。


一、安装bs4

这里不再提供安装方式,可根据安装lxml的方式来安装bs4即可。

二、bs4的基础使用

2.1 创建soup对象

# 1. 导包
from bs4 import BeautifulSoup# 解析本地文件
# 第二个参数必须是lxml
# 默认打开文件的方式是gbk,所以打开文件的时候需要指定编码
soup = BeautifulSoup(open('test.html',encoding='utf-8'),'lxml')

2.2 根据标签名查找节点

获取的是第一个符合的标签

# 1.根据标签名查找节点
# 找到的是第一个符合条件的数据
print(soup.a)
# 获取标签的属性和属性值
print(soup.a.attrs)

2.3 根据函数来查找节点

1. find函数
# (1)find
# 返回的是第一个符合条件的数据
print(soup.find("a"))
# 根据属性值查找对应的标签
print(soup.find("a",id="2"))
# 当根据class查找的时候,需要注意不能单纯使用class,需要带上一个下划线
print(soup.find("a",class_="a1"))
2. find_all函数
# (2)find_all 返回的是一个列表
# 返回所有的a标签
print(soup.find_all("a"))
# 获取去多个不同标签的数据,需要在find_all中参数添加为列表的数据才可以
print(soup.find_all(["a","span"]))
# 使用limit可以限定获取前多少个数据
print(soup.find_all("li"))
print(soup.find_all("li",limit=2))
3. select函数
# (3)select 推荐
# select方法返回一个列表,并且返回多个数据
print(soup.select("a"))
# 可以通过类选择器,找到指定的标签
print(soup.select(".a1"))
# 通过id选择器,找到指定的标签
print(soup.select("#a1"))
# 属性选择器---通过属性来寻找对应的标签
# 查找所有li中包含id属性的标签
print(soup.select("li[id]"))
# 查找到li标签中id为l2的标签
print(soup.select('li[id="l2"]'))
# 找到a标签和li标签对应的所有元素
print(soup.select("a,li"))

三、使用bs4获取节点信息

3.1 获取节点内容

# 获取节点内容
obj = soup.select("#d1")[0]
# print(obj)
print(obj.string)
print(obj.get_text())
# 如果标签对象中,之存在内容,不存在其他的子标签,那么string和get_text()都可以使用
# 如果存在其他的标签,那就只能使用get_text()获取内容
# 因而更推荐get_text()

3.2 获取节点的属性

# 节点的属性
obj = soup.select("#p1")[0]
# name是获取标签的名字
print(obj.name)
# 将属性值通过一个字典返回
print(obj.attrs)

3.3 获取节点的属性值

# 获取节点的属性值
obj = soup.select("#p1")[0]
# 方式一
print(obj.attrs.get('class'))
# 方式二
print(obj.get('class'))
# 方式三
print(obj['class'])

四、测试练习

# bs4解析数据
# 确保是上网环境
from bs4 import BeautifulSoup
from lxml import etree
import requests
import urllib.requeststart_page = int(input('请输入起始页码:'))
end_page = int(input('请输入结束页码:'))
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'
}
for page in range(start_page, end_page+1):# 获取需要解析页面的urlif page == 1:url = 'https://sc.chinaz.com/tag_tupian/qinglvtouxiang.html'else:url = 'https://sc.chinaz.com/tag_tupian/qinglvtouxiang_' + str(page) + '.html'# 获取页面源码(requests)response = requests.get(url,headers=headers)content = response.content.decode()# print(content)# 解析图片路径 以及对应的alt值 HTML解析获取来的响应数据# 可以先通过插件获取到的xpath路径 再更改为对应的bs4语法# 响应数据直接写入到第一个参数即可# //div[@id="container"]//a/img/@src# //div[@id="container"]//a/img/@altsoup = BeautifulSoup(content, 'lxml')all_list = soup.select('img[src2]')for each in all_list:src = "https:"+each['src2']alt = each['alt']# print(src, alt)urllib.request.urlretrieve(src, "./img/"+alt+".jpg")

总结

通过本文的探索,我们见证了 BeautifulSoup如何将复杂的 HTML 解析过程转化为简单直观的 Python 操作。从基本的标签搜索到复杂的树形结构遍历,BeautifulSoup 提供了一套完整的工具集,让我们能够轻松应对各种网页解析需求。值得注意的是,虽然 BeautifulSoup 功能强大,但在实际项目中往往需要与其他库(如 requests、lxml 或 Scrapy)配合使用,才能构建完整的网络爬虫解决方案。

网络数据的结构和形态在不断变化,但 BeautifulSoup 的灵活性和稳定性使其始终保持着在网页抓取领域的重要地位。正如我们所见,掌握 BeautifulSoup 不仅能提高数据采集效率,还能帮助我们更好地理解网页结构和信息组织方式。希望本文能成为您 BeautifulSoup 学习之旅的有益指南,期待您运用这些知识去探索更广阔的数据世界,创造更有价值的应用。记住,在网络数据的海洋中,BeautifulSoup 就是您最可靠的导航仪。

http://www.dtcms.com/wzjs/147659.html

相关文章:

  • 北京办理营业执照多少钱seo是干什么的
  • 权威的顺德网站建设百度竞价排名名词解释
  • 做美图+网站有哪些天津seo管理平台
  • 服装设计资源网站网络营销外包公司
  • 千图网cad免费素材图库seo 公司
  • 客服外包公司全国前十名seo关键词如何布局
  • 桂林网站制作公司比较靠谱的网站
  • 伴奏网站防盗是怎么做的网站怎么建设
  • wordpress添加邮箱设置seo外链专员
  • 网站滚屏是用什么做的灰色关键词排名方法
  • 盱眙在仕德伟做网站的有几家网络广告营销有哪些
  • 怎么做淘客专属网站seo推广优化平台
  • 成都网站建设需要多少钱手机自己怎么建电影网站
  • 做攻略的网站好自媒体发布平台有哪些
  • 谷歌外贸网站外链网盘网站
  • 产品销售推广方案谷歌seo价格
  • wordpress如何添加友情链接佛山网站优化软件
  • 电商网站 开发费用长岭网站优化公司
  • 用付费网站做推广网络营销与直播电商学什么
  • 网站做直播需要什么资质seo 工具推荐
  • 对seo的认识和理解su搜索引擎优化
  • 广东华业建设有限公司网站seo公司是做什么的
  • 网站日志文件夹设计素材网站
  • 动易与php环境架设网站360优化大师下载安装
  • 北京垡头网站建设公司免费拓客软件哪个好用
  • php与dw怎么做校园网站2024年阳性什么症状
  • 网站建设简单吗sem是什么仪器
  • 网站信息发布和内容建设自查报告新网站百度收录要几天
  • wordpress 评论回复邮件通知插件seo与sem的区别与联系
  • 网站建设项目心得体会优化模型的推广