gpt4 book ai didi

python - 仅从 python 中的 td 选择价格值

转载 作者:行者123 更新时间:2023-12-01 02:27:04 25 4
gpt4 key购买 nike

我试图从 html td 标签中捕获价格值,但问题是还有其他具有相同类名的 td:请参见下图。 enter image description here

这是我写的代码

from  builtins import any as b_any
from urllib.parse import urlparse
from urllib.parse import urljoin
from collections import Counter
import urllib.request
import csv
import schedule
import time
import re
from bs4 import BeautifulSoup

url="http://offer.ebay.es/ws/eBayISAPI.dll?ViewBidsLogin&item=122713288532&rt=nc&_trksid=p2047675.l2564"

req = urllib.request.Request(url, headers={'User-agent': 'Mozilla/5.0'})

htmlpage = urllib.request.urlopen(req)

html = htmlpage.read().decode('utf-8')

soup = BeautifulSoup(html,"html.parser")

table = soup.find_all('td',{'class':'onheadNav'})

'''for txt in table:
nametxt = txt.text
result = ''.join([i for i in nametxt if not i.isdigit()])
cleantxt = result.replace('(','')
print(cleantxt.replace(')',''))

rank = txt.a.text
print(rank)'''
price = soup.select('td.contentValueFont')
for pr in price:
print(pr.text)

如果我在 for 循环中切片价格,它将仅获得第一个价格,但我想立即获得所有价格。

编辑后的描述:我想捕获所有价格,但问题是有三个 td 具有相同的类名,一个 td 用于价格,一个用于 Cantidad(数量),另一个用于日期,这些都具有相同的类。当我尝试仅获取价格部分时,我的代码返回所有三个 td。我希望你现在就明白了

最佳答案

懒惰方式:

soup = BeautifulSoup(html,"html.parser")

table = soup.find_all('table')

trs = table[9].select('tr') # You should select the table first (use your way)

for tr in trs: # loop the tr in the table
if len(tr.select('td')) > 2: # check length
print(tr.select('td')[2].text) # select third td

关于python - 仅从 python 中的 td 选择价格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47281621/

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