gpt4 book ai didi

python - 在 HTML 中使用 BeautifulSoup 查找元素

转载 作者:行者123 更新时间:2023-11-28 02:34:05 25 4
gpt4 key购买 nike

我需要找到所有元素为 <td alert="0" op="0" class=" es_numero cell_imps24ad"><span>1.204</span></td>在我的 html 代码中。我不能发送所有的 html 代码,因为它是 secret 信息。

我正在尝试使用这段代码:

# encoding=utf8
# -*- coding: utf-8 -*-
import random
import requests
from requests.auth import HTTPBasicAuth
import sys
import csv
from bs4 import BeautifulSoup


reload(sys)
sys.setdefaultencoding('utf-8')
lista = []
number = str(random.random())

user = ''
passwd = ''
url = ''
login = requests.get(url, auth=HTTPBasicAuth(user, passwd))
url_sitios = ''

sitios = requests.get(url_sitios, auth=HTTPBasicAuth(user, passwd))
sitios2 = sitios.text
html = sitios2
soup = BeautifulSoup(html)

for item in soup.find_all("td", {"class": " es_numero cell_imps24ad"}):
print item.text, item.next_sibling

我想要的输出是这样的: es_numero cell_imps24ad : 1.204

最佳答案

您需要将解析类型传递给BeautifulSoup:

soup = BeautifulSoup(html, 'lxml') #add the 'lxml' parser
for item in soup.find_all("td", {"class": " es_numero cell_imps24ad"}):
print item.text, item.next_sibling

编辑:给定 nombreurl 标记的 html,你可以试试这个:

from bs4 import BeautifulSoup as soup
import re
s = "<url>https://www.google.com.ar/</url>\n<nombre>google.com.ar‌​</nombre>"
data = map(lambda x:x.text, soup(s, 'lxml').find_all(re.compile('nombre|url')))

输出:

[u'https://www.google.com.ar/', u'google.com.ar\u200c\u200b']

编辑 2:对于较小的提取:

from bs4 import BeautifulSoup as soup
s = '<ultimas24hrs> <item id="imps24ad">0</item>'
new_s = soup(s, 'lxml')
the_id = int(new_s.find('item', {'id':"imps24ad"}).text)

关于python - 在 HTML 中使用 BeautifulSoup 查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48525383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com