2016-04-07 9 views
1

私はこのWebサイトを解析しようとしています:https://www.scutify.com/stocks.html 私はBeautifulSoupを使って解析すると、フレームの問題(私はHTMLを使い慣れていません)、株式(1-800-Flowersなど) htmlリンク。だから私は、その後、HTMファイルとして保存され、今私はBeautifulSoupでネストされたアイテムを解析するには?

downloadedfile = "C:/Users/vwxyz/Downloads/Stocks_ETFs.htm" 
htm = open(downloadedfile,'r') 
soup = BeautifulSoup(htm) 
stocklist = soup.find("ul",class_= "company-list list-group") 
print(stocklist) 

以下のスクリプトはしかし、それはその後、Aを出力しようとしたHTMファイルが

<title>Stocks/ETFs Listing - US, Canadian, UK, Australian and Indian Stocks on Scutify</title> 
<meta charset="utf-8"> 
<meta http-equiv="X-UA-Compatible" content="IE=edge"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<meta name="description" content="Listing of US, Canadian, UK, Australian and Indian Stocks and ETFs available on Scutify"> 
<meta name="keywords" 
<ul class="company-list list-group" id="us-list"> 
<li class="list-group-item"> 
    <a href="https://www.scutify.com/company.aspx?ticker=FLWS">1-800-Flowers.Com Inc - (FLWS)</a></li> 
<li class="list-group-item"> 
    <a href="https://www.scutify.com/company.aspx?ticker=FOX">21st Century Fox Inc - (FOX)</a></li> 
.... 

のように見えるの株式

を見ることができます巨大なテキストの束。私はちょうど

FLWS 
FOX 
... 

株のリストがほしいと助け誰でも助けることができるか。在庫内のアイテム上

+0

あなたは在庫リストに戻って何を表示できますか? –

+0

あなたのダウンロードファイルはどうやって入手できますか?私がそれを得ることができれば、私はあなたのコードを調べるでしょう –

+0

http://pastebin.com/QnWhDaby – vwxyz

答えて

0

反復リストと括弧内の部分を抽出:

\(([A-Z]+)\)$は(グループ内の取り込ま)は、1つ以上の大文字に続くかっこに一致するであろう
import re 

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

pattern = re.compile(r"\(([A-Z]+)\)$") 
for item in soup.select(".company-list .list-group-item"): 
    match = pattern.search(item.get_text()) 
    if match: 
     print(match.group(1)) 

、文字列の最後に閉じ括弧が続きます。

+0

うわーそれは働いた、ありがとう! – vwxyz

関連する問題