我正尝试使用美丽的汤从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")
但是我得到一个空数组[]或什么都没有
答案 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
您可以删除不需要的列,添加适当的标题等。