前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Beautifulsoup解析库使用实际案例

Beautifulsoup解析库使用实际案例

原创
作者头像
小白学大数据
发布2023-07-03 16:15:48
1590
发布2023-07-03 16:15:48
举报
文章被收录于专栏:python进阶学习python进阶学习

爬虫,是学习Python的一个有用的分支,互联网时代,信息浩瀚如海,如果能够便捷的获取有用的信息,我们便有可能领先一步,而爬虫正是这样的一个工具。之前的的文章中讲到了很多有关爬虫基础知识的使用,我们已经能够使用各种库对目标网址发起请求,并获取响应信息。本期我们会介绍各网页解析库的使用,讲解如何解析响应信息,提取所需数据。

解析库就是在爬虫时自己制定一个规则,帮助我们抓取想要的内容时用的。常用的解析库有re模块的正则、beautifulsoup、pyquery等等。正则完全可以帮我们匹配到我们想要住区的内容,但正则比较麻烦,所以这里我们会用beautifulsoup。

beautifulsoup解析原理:实例化一个BeautifulSoup对象,并且将本地或者页面源码数据加载到该对象中

通过调用该对象中相关的属性或者方法进行标签定位和数据提取。

解析案例分享

Beautiful Soup 对于网络抓取很有用,因为它可以获取 URL 的内容,然后解析它以提取您需要的信息。比如我们可以使用 Beautiful Soup爬取拉勾网上的岗位,薪资分布等情况,总所周知拉勾网的反爬机制非常的严格,如果我们频繁访问会被封IP,为了应对这样的反爬机制,在爬取过程中添加了由亿牛云提供的高质量隧道爬虫代理,代码实现过程如下:

代码语言:javascript
复制
from bs4 import BeautifulSoup
import requests
from fake_useragent import UserAgent

# 定义爬取的拉勾网页面的URL
url = "https://www.lagou.com/"

# 设置随机UA
ua = UserAgent()
headers = {'User-Agent': ua.random}

# 动态转发隧道代理 使用代理IP提高采集成功率
# 亿牛云 爬虫代理加强版 服务器和用户名、密码认证
proxy_username = '16YUN'
proxy_password = '16IP'
proxy_host = 'www.16yun.cn'
proxy_port = '31000'

# 构造代理IP的格式
proxies = {
    'http': f'http://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}',
    'https': f'https://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}'
}

# 发送请求并使用代理IP
response = requests.get(url, headers=headers, proxies=proxies)
soup = BeautifulSoup(response.content, 'html.parser')

# 提取产品信息
title_element = soup.find('span', id='productTitle')
price_element = soup.find('span', class_='price')
description_element = soup.find('div', id='productDescription')

title = title_element.text.strip()
price = price_element.text.strip()
description = description_element.text.strip()

# 打印产品信息
print("标题:", title)
print("价格:", price)
print("描述:", description)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据处理套件 TBDS
腾讯大数据处理套件(Tencent Big Data Suite,TBDS)依托腾讯多年海量数据处理经验,基于云原生技术和泛 Hadoop 生态开源技术对外提供的可靠、安全、易用的大数据处理平台。 TBDS可在公有云、私有云、非云化环境,根据不同数据处理需求组合合适的存算分析组件,包括 Hive、Spark、HBase、Flink、presto、Iceberg、Alluxio 等,以快速构建企业级数据湖、数据仓库。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档