python - 如何使用 beatutifulsoup 获取“内容==$0”中的“内容”
问题描述
当我试图在这个网站(https://cd.lianjia.com/ershoufang/106101326994.html<span> contents <span>==$0
)上获取一些房屋信息时,我在使用 beautifulsoup4 模块获取报表中的“内容”时遇到了问题,我总是得到一个'0',而不是内容。在此处输入图像描述。非常感谢!
这是我的代码:
import requests
from bs4 import BeautifulSoup
from Headers import headers
def getSigleHouseDetail(houseurl):
result = {}
res = requests.get(houseurl)
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text, 'html.parser')
result['totalcount'] = soup.select('.totalCount')[0].select('span')[0].text
return result
url = 'https://cd.lianjia.com/ershoufang/106101326994.html'
print(getSigleHouseDetail(url)['totalcount'])
解决方案
您现在正在做的是打印您从以下行创建的对象的索引: result['totalcount'] = soup.select('.totalCount')[0].select('span')[0].text
相反,您应该捕获内容或使用诸如 class、id 等属性
import requests
from bs4 import BeautifulSoup
def getSigleHouseDetail(houseurl):
res = requests.get(houseurl)
soup = BeautifulSoup(res.text,'html.parser',from_encoding='utf-8')
method_divs = soup.body.find_all('span', attrs= {'class': 'className'})
return method_divs[0].text
url = 'https://cd.lianjia.com/ershoufang/106101326994.html'
print(getSigleHouseDetail(url))
行 : return method_divs[0].text 将打印带有 className 的第一个 span 的文本
推荐阅读
- javascript - react-native 中的“找不到变量:点击”
- entity-framework - 在 RawSQLQuery 填充对象时关闭 PropertyChanged 事件
- python - 如何在 Python 中创建返回星期几的代码?
- jackson-databind - 如何在没有 ObjectNode 的情况下创建 ValueNode?
- ocaml - OCaml 编译类型错误,不是正确的预期函数类型
- python - Tkinter ttk:背景/前景色在我的电脑上不起作用
- unit-testing - 无法从“setup.js”中找到模块“expo-react-native-adapter”
- c++ - 有效地计算阶乘
- r - 如何在计算逐步多项式回归之前消除p值> 0.7的变量?
- elixir - 为什么 Elixir 的 group_by 在实现中使用了反向函数?