Voici un code que j'ai trouvé en ligne qui obtiendra des prix (c'est-à-dire des décimales) de sites Web. J'ai besoin de modifier ce code afin qu'il ne retourne pas un nombre décimal, mais une chaîne.Alter beautifulSoup code pour extraire des mots
from bs4 import BeautifulSoup
import urllib, string, sys, urllib2, re, time
start = time.time()
# Find Bloomberg Brent Price
rawBloomData = urllib2.urlopen("http://www.bloomberg.com/energy/").read()
BloomSoup = BeautifulSoup(rawBloomData)
brent = BloomSoup.findAll('tr')[14]
BloomPrice = str(re.search(re.compile (r"\d+\.\d*"),str(brent.contents)).group())
print (BloomPrice)
cela retournera le prix du pétrole brut. Je dois saisir le mot à propos de ce qui est "prix". quand je change la ligne de code de
brent = BloomSoup.findAll('tr')[14]
to
brent = BloomSoup.findAll('tr')[12]
il doit retourner
'Price'
Quelle est votre question? Vous voulez qu'il retourne "Prix", mais ce n'est pas? Que retourne-t-il réellement? –
@DanielRenshaw Je suis désolé si je vous ai confus. Je veux qu'il renvoie le prix réel du mot. Si vous allez à http://www.bloomberg.com/energy/ vous verrez que sous le mot prix, il y a des prix réels comme 62.03, 65034, etc. Mais je ne veux pas les prix, je veux extraire le mot "Prix" lui-même. – user1681664
Je pense que je l'ai eu, mais vous dites que vous obtenez le prix du mot en changeant l'indice de 14 à 12, alors quel est le problème? –