2017-06-23 42 views
0

http://contentlinks.dionglobal.in/ib/closeprices.asp?Exchange=NSE&Startname=A
此網頁包含div class='alternate'alternate1。我如何使用美麗的湯解析所有<tr>具有相同class名稱的元素。美麗的湯中具有相同類名的網頁

import urllib2 
from bs4 import BeautifulSoup 

url='http://contentlinks.dionglobal.in/ib/closeprices.asp?Exchange=NSE&Startname=A' 

page = urllib2.urlopen(url) 
soup = BeautifulSoup(page, 'html.parser') 

name_box = soup.find('tr', class_='alternate') 
namebox2=soup.find('tr', class_='alternate1') 

name = name_box.text.strip() 
name3=namebox2.text.strip() 

print(name) 
print(name3) 

此輸出只包含前兩個股票數據,但我想要所有的數據。

回答

0

因爲您只找到第一個標籤。要找到所有的div你必須使用find_all

for name_box in soup.find_all('tr', class_='alternate'): 
    name = name_box.text.strip() 
    print(name) 

for namebox2 in soup.find_all('tr', class_='alternate1'): 
    name3=namebox2.text.strip() 
    print(name3) 

按照documentation
page = urllib2.urlopen(url)應該page = urllib2.urlopen(url).read()

+0

@RickSarkar做了這​​個答案幫助或解決了你的問題? –