【问题标题】:How to extract data from web to excel based on given input?如何根据给定的输入从网络中提取数据到excel?
【发布时间】:2016-12-25 10:58:33
【问题描述】:
我想根据给定的名称和时间段提取表格数据并将其保存到 Excel。
这是链接stock market info
这是快照
网页“以 csv 格式下载文件”中有一个选项,但我想自动化这个过程,因为我需要大约 100 家公司的数据。
我在 excel 中尝试了网络查询选项,但上面提到的链接没有显示任何表格符号供我导入。
我只是想要一些伪代码开始。也有可能吗?
提前致谢!
【问题讨论】:
标签:
python
excel
web-scraping
vba
【解决方案1】:
希望这会有所帮助。
import requests
from bs4 import BeautifulSoup
symbol = "Company name"
from_date = "19-12-2016"
to_date = "20-12-2016"
URL = "https://www.nseindia.com/products/dynaContent/common/productsSymbolMapping.jsp?symbol=%s&segmentLink=3&symbolCount=3&series=ALL&dateRange=+&fromDate=%s&toDate=%s&dataType=PRICEVOLUMEDELIVERABLE" % (symbol,from_date,to_date)
r = requests.get(URL,verify=false)
bso = BeautifulSoup(r.text,'html.parser')
outfile = symobl+'_'+from_date+'_'+to_date+'.csv'
data = ''
for tag in bso.find_all('th'):
data += tag.text.split()+','
data = data[:-1]+'\n'
for row in bso.find_all('tr')[1:]:
for field in row.find_all('td'):
data += field.text.split()+','
data = data[:-1]+'\n'
with open(outfile,'w') as f:
f.write(data)