首页 > 解决方案 > 使用 Python 获得 Beautiful Soup 的特定价值

问题描述

如果我想获得特定值,我有这段代码可以提取网站上的所有数字,我该怎么做?我这样做了,但它不起作用

import urllib
import re
import requests
from bs4 import *

    url = requests.get("http://python-data.dr-chuck.net/comments_216543.html")
    soup = BeautifulSoup(url.content, "html.parser")
    sum=0
    tags = soup('span')
    for tag in tags:
        y=str(tag)
        x= re.findall("[0-9]+",y)
        for i in x:
            print (i[1])

标签: pythonbeautifulsoup

解决方案


要获取标签“Coby”,您可以使用将自定义函数传递给.find()

import requests
from bs4 import *

url = requests.get("http://python-data.dr-chuck.net/comments_216543.html")
soup = BeautifulSoup(url.content, "html.parser")

coby = soup.find(lambda tag: tag.name == "tr" and "Coby" in tag.text)

print(coby.get_text(separator=" "))

输出:

Coby 95

或者,仅获取评论,请使用.find_next()

print(coby.find_next("span", class_="comments").get_text())

输出:

95

推荐阅读