web-scraping - BS4 webscraping 从多个元素中获取文本
问题描述
试图从 bs4 Find_all 中提取几个元素作为文本但没有成功
一直在尝试 Get_text 和 Y 中的 X:
请给点建议!
import requests
import re
from bs4 import BeautifulSoup as bs
URL = "URLLINK"
r = requests.get(URL)
soup = bs(r.content)
data = soup.find_all('span', attrs= {"class": "XXX"})
print(data)```
解决方案
最好使用 CSS 选择器或.select()
函数
from bs4 import BeautifulSoup
html = '''<span class="sold-property-listing__subheading sold-property-listing--left"> Slutpris 1 400 000 kr </span>, <span class="sold-property-listing__subheading sold-property-listing--left"> Slutpris 1 950 000 kr </span>, <span class="sold-property-listing__subheading sold-property-listing--left"> Slutpris 2 115 000 kr </span>, <span class="sold-property-listing__subheading sold-property-listing--left"> Slutpris 1 900 000 kr</span>'''
soup = BeautifulSoup(html, 'html.parser')
spans = soup.select('.sold-property-listing__subheading')
# or
# spans = soup.select('.sold-property-listing__subheading.sold-property-listing--left')
for s in spans:
print(s.text)
推荐阅读
- django - 在 Django 中首次迁移后如何更改数据库(sqlite)?
- css - 当“X”图标出现时css字段位置发生变化[它应该与标题相同],有人知道解决方案吗?
- php - 将对象数据提取到数组中会出现错误:未捕获的错误:无法将 stdClass 类型的对象用作数组
- codeigniter - 在 uri 中提交 char ( ) 时出现错误
- android - 在 Libgdx android 项目上使用 Spatialite 库给出“无法为目标加载共享库 'gdx':Linux,32 位”错误
- android - 为什么我无法从 Firebase 数据库中读取数据?
- sql - Microsoft Access 查询返回问题
- php - 替换字符串中第二次出现的单词并返回整个字符串
- cmake - CMake execute_process 的多个输入文件
- identityserver4 - 如何将刷新令牌到期日期添加到令牌端点响应?