关于BeautifulSoup库查找

每次都记不住该怎么用

留存一下

</style>
<script type="text/javascript" src="../ext/linesale.js?v=0.11817100 1538190458" ></script>
</head>

如何抓取src=“...”里面的数据?

前序格式

import requests
from bs4 import BeautifulSoup
import re

url="http://www.bjbus.com/map/index.php"
headers = { 'Accept': '*/*','Connection': 'keep-alive', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36'}
r=requests.get(url,headers=headers).text
r_bs=BeautifulSoup(r, "html.parser")

下面就要开始解析

方法1

for i in r_bs.find_all("script"):
    print(i.get("src"))

可以找到所有script标签下,提取属性为src的属性值

方法2

print(r_bs.find_all("script")[1].get("src"))

-->    ../ext/linesale.js?v=0.73926300 1538199432

因为find_all返回的是list类型,可以用[n]来查找具体某一个,当然,如果网页代码改变了,那就得重新写,这点儿没有正则的好

接下来需要将  ..替换成官网网址

### 使用Python BeautifulSoup进行网页解析 #### 安装BeautifulSoup 为了使用BeautifulSoup,在本地环境中需先安装该。对于Python3环境,可以通过`pip3 install beautifulsoup4`命令在命令提示符下轻松完成安装过程[^4]。 #### 导入并初始化BeautifulSoup对象 一旦安装完毕,可以在Python脚本里通过如下语句导入所需模块:`from bs4 import BeautifulSoup`。接着实例化一个BeautifulSoup对象以便后续操作,通常会传入要解析的HTML文档字符串以及指定解析器(如'lxml'或'html.parser'),这有助于更有效地处理和分析页面内容[^1]。 ```python from bs4 import BeautifulSoup # 假设html_doc是一个包含目标网站源码的字符串变量 soup = BeautifulSoup(html_doc, 'lxml') ``` #### 解析与查找元素 利用BeautifulSoup对象可以方便地访问DOM树中的各个节点。例如,想要获取所有的链接标签<a>及其属性href所指向的具体网址,则可调用`soup.find_all('a')`方法返回符合条件的结果列表;如果仅关心特定类名下的div容器,则可通过设置参数class_来实现精准定位[^2]。 ```python links = soup.find_all('a') for link in links: url = link.get('href') print(url) specific_divs = soup.find_all('div', class_='example-class') print(specific_divs) ``` 此外,除了上述提到的基础功能外,还支持更多高级特性比如正则表达式匹配、CSS选择器语法等,这些都能极大地方便开发者快速筛选出感兴趣的信息片段[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值