beautifulsoup中find中get_text
时间: 2024-03-18 16:45:29 浏览: 69
在BeautifulSoup中,find()方法用于查找匹配指定标签的第一个子标签,并返回该标签对象。而get_text()方法则用于获取该标签对象的文本内容,即去除HTML标签后的纯文本数据。
举个例子,如果你想获取网页中第一个p标签的文本内容,你可以这样做:
```
from bs4 import BeautifulSoup
import requests
# 发送请求获取网页内容
url = 'http://www.example.com'
response = requests.get(url)
# 将网页内容转换为BeautifulSoup对象
soup = BeautifulSoup(response.text, 'html.parser')
# 查找第一个p标签,并获取其文本内容
p_tag = soup.find('p')
text = p_tag.get_text()
print(text)
```
在这个例子中,我们使用了find()方法查找第一个p标签,并使用get_text()方法获取该标签的文本内容。
相关问题
使用requests和BeautifulSoup库,可使用BeautifulSoup中的find、find_all或select、select_one进行html元素检索
示例代码:
import requests
from bs4 import BeautifulSoup
# 发送请求获取页面内容
url = 'https://www.baidu.com'
response = requests.get(url)
html = response.text
# 解析html,使用find_all查找所有a标签
soup = BeautifulSoup(html, 'html.parser')
a_tags = soup.find_all('a')
# 遍历a标签并输出链接
for a_tag in a_tags:
print(a_tag.get('href'))
news_list = soup.find_all("a", class_="news_list_title") for news in news_list: title = news.get_text() link = news.get("href") news_response = requests.get(link) news_soup = BeautifulSoup(news_response.content, "html.parser") content = news_soup.find("div", class_="news_content").get_text() if "公示" in title: ws.append([title, link, content])
这段代码的作用是爬取一个网页中的新闻列表,然后获取每个新闻的标题、链接和内容,并将包含关键词“公示”的新闻信息写入一个 Excel 表格中。具体来说,代码通过 BeautifulSoup 库解析 HTML 页面,获取 class 属性为"news_list_title"的所有a标签,然后遍历每个a标签,获取其标题和链接,随后请求链接,解析新闻详细页面,获取新闻内容,最后判断标题中是否包含关键词“公示”,如果包含,则将新闻的标题、链接和内容写入一个 Excel 表格中。
阅读全文