2017-06-27 2 views
0

Hier ist mein Code extrahierenWie teilweise Text aus href mit BeautifulSoup in Python

print(item.find_all('td')[2].find('a')) 
print(item.find('span').text.strip()) 
print(item.find_all('td')[3].text) 
print(item.find_all('td')[2].find(target="_blank").string.strip()) 

Es diesen Text druckt.

<a href="argument_transcripts/2016/16-399_3f14.pdf" 
id="ctl00_ctl00_MainEditable_mainContent_rptTranscript_ctl01_hypFile" 
target="_blank">16-399. </a> 

Perry v. Merit Systems Protection Bd. 

04/17/17 

16-399. 

Alles, was ich von dem href-Tag will, ist dieser Teil: 16-399_3f14

Wie kann ich das tun? Vielen Dank.

+1

Welche Arten von Dingen haben Sie ausprobiert? 're' Modul bietet leistungsfähige Werkzeuge zum Extrahieren von Teilstrings aus Strings, aber dieser Fall ist einfach genug, Sie können es wahrscheinlich mit ein paar Aufrufen von' str.split' tun. – robru

Antwort

0

Sie können die Funktion find_all verwenden, um die Ankerelemente mit dem href-Attribut abzurufen und dann die href-Werte für die gesuchten Informationen zu analysieren.

from BeautifulSoup import BeautifulSoup 

html = '''<a href="argument_transcripts/2016/16-399_3f14.pdf" 
id="ctl00_ctl00_MainEditable_mainContent_rptTranscript_ctl01_hypFile" 
target="_blank">16-399. </a>''' 

soup = BeautifulSoup(html) 

for a in soup.find_all('a', href=True): 
    url = a['href'].split('/') 
    print url[-1] 

Dies sollte die Zeichenfolge ausgeben, nach der Sie suchen.

16-399_3f14.pdf 
Verwandte Themen