我试图从dividend.com中分红,下面是我的脚本:
import requests
url = 'http://www.dividend.com/ex-dividend-dates.php?from_filter=yes&ex_div_date_min=2018-01-11&ex_div_date_max=2018-01-11&common_shares=on&preferred_shares=on&adrs=on&etns=on&funds=on¬es=on&etfs=on&reits=on'
page = requests.get(url)
page_content = page.content
with open('page_content.txt', 'w') as f:
f.write(str(page_content))
f.close()我将结果保存到文本文件中,我对上传的图片中的块感兴趣,
在这个文件中,有很多块,我想把这些块保存到字典列表中,每个字典应该包含一个块的数据,如下所示,
{“股票符号”:“MFO”,“公司名称”:“MFA金融公司8%到期2042年的老债券”,“DARS™评级”:“,”Ex-Div Date“:”2018-01-11“,”支付日期“:”2018-01-16“,”Div Payout“:”0.50“,”合格股息?“:”No“,”股票价格“:”26.04美元“,”收益率“:”7.68%“,}
请帮忙,并提前感谢。
发布于 2017-09-29 19:40:26
由于该表的数据是动态生成的,您必须使用selenium来获取所需的数据。下面是一个脚本,它是结合BeautifulSoup和selenium编写的,目的是:
from selenium import webdriver
from bs4 import BeautifulSoup
driver = webdriver.Chrome()
driver.get("http://www.dividend.com/ex-dividend-dates.php?from_filter=yes&ex_div_date_min=2018-01-11&ex_div_date_max=2018-01-11&common_shares=on&preferred_shares=on&adrs=on&etns=on&funds=on¬es=on&etfs=on&reits=on")
soup = BeautifulSoup(driver.page_source,"lxml")
driver.quit()
table = soup.select("table#ex-dividend-dates")[0]
list_row =[[tab_d.text.strip().replace("\n","") for tab_d in item.select('th,td')]
for item in table.select('tr')]
for data in list_row[:2]:
print(' '.join(data))结果如下:
Stock Symbol Company Name DARS™ Rating Ex-Div Date Pay Date Div Payout Qualified Dividend? Stock Price Yield
MFO MFA Financial Inc. 8% Sr. Notes due 2042 2018-01-11 2018-01-16 0.50 No $26.04 7.68%https://stackoverflow.com/questions/46494044
复制相似问题