2015-11-07 229 views
-2

所以我只是想知道我怎麼會從以下字符串中提取http://www.google.com如何從Python中的字符串中提取子字符串?

<div class="asdf"><a href="http://www.google.com"> 

比方說,我有一堆在裏面鏈接一個巨大的字符串,我想提取所有內的鏈接一個href的引號,我該怎麼做?

+0

您應該使用'regex'或'BeautifulSoup'做到這一點。 –

+0

我認爲他已經想要這個了,用'regex'標籤來判斷。 – TigerhawkT3

+0

@ TigerhawkT3很好的通話,我沒有看過標籤。 –

回答

2

You need an HTML Parser。例如使用BeautifulSoup

from bs4 import BeautifulSoup 

soup = BeautifulSoup(data) 
for link in soup.select("div.asdf > a[href]"): 
    print(link["href"]) 

這將匹配所有具有href屬性直接位於div元件具有「ASDF」類中的鏈接。

你也可以找到所有的輸入文檔中的a元素:

for link in soup.find_all("a", href=True): 
    print(link["href"]) 

或者:

for link in soup.select("a[href]"): 
    print(link["href"]) 
+0

所有發現但是如果有多個div呢?這將是一個巨大的字符串,包含一個[href]。 – Matt

+0

@Matt我更新了答案並添加了一些更一般的信息。雖然很高興看到您的實際輸入和期望的輸出。 – alecxe

+0

哎呀,謝謝!我目前正在使用Scrapy的xpaths。所以我認爲它可能是response.xpath(「// div.asdf/a/@href」)。extract()then ??對不起,我不確定你是否熟悉XPath。 – Matt

相關問題