在美丽的汤中具有相同类名的网页

时间:2017-06-23 14:19:53

标签: python web-scraping beautifulsoup

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)   

此输出仅包含前两个库存数据,但我想要所有数据。

1 个答案:

答案 0 :(得分: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)

根据documentationpage = urllib2.urlopen(url)应为page = urllib2.urlopen(url).read()