Beautiful Soup Error:尝试从网页检索数据返回空数组

时间:2019-04-07 14:11:15

标签: python-3.x web-scraping beautifulsoup

我正尝试使用美丽的汤this web page下载有投票意向的民意测验列表。但是,我编写的代码返回一个空数组或什么都没有。我使用的代码如下:

页面代码如下:

<div class="ST-c2-dv1 ST-ch ST-PS" style="width:33px"></div>
    <div class="ST-c2-dv2">41.8</div>

这就是我尝试过的:

import requests
from bs4 import BeautifulSoup

request = requests.get(quote_page) # take the page link
page = request.content  # extract page content

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

# extract all the divs
for each_div in soup.findAll('div',{'class':'ST-c2-dv2'}):
    print each_div

这时,它什么也不打印。 我也尝试过这个:

tutti_a = soup.find_all("html_element", class_="ST-c2-dv2")

还有:

tutti_a = soup.find_all("div", class_="ST-c2-dv2")

但是我得到一个空数组[]或什么都没有

1 个答案:

答案 0 :(得分:1)

我认为您可以使用以下网址

import requests
from bs4 import BeautifulSoup as bs
import pandas as pd
r = requests.get('https://www.marktest.com/wap/a/sf/v~[73D5799E1B0E]/name~Dossier_5fSondagensLegislativas_5f2011.HighCharts.Sondagens.xml.aspx')
soup = bs(r.content, 'lxml')

results = []
for record in soup.select('p'):
    results.append([item.text for item in record.select('b')])
df = pd.DataFrame(results)
print(df)

第5、6、7、8、9、10列分别对应PS,PSD,CDS,CDU,Bloco,Outros / Brancos / Nulos

您可以删除不需要的列,添加适当的标题等。