求点赞!!!
科研找数据的时候是最痛苦的,一个个年鉴地翻眼睛快看瞎了,中国经济社会发展数据库提供了一个很好的数据平台。但是一个个搜还是很麻烦,所以我就想把数据自动获取出来,这样又能节省一大波时间玩。
最近试试了selenium,因为它的交互过程让我一个爬虫小白都能轻松明白。我看csdn还没有这样的例子,所以下面做一个北京市GDP获取的例子给大家参考一下:
selenium安装和驱动程序获取过程这里就不赘述了,csdn很多博客都有说,我用的是chrome,下面上代码吧:
from selenium import webdriver #导入selenium驱动程序
import pandas as pd
browser = webdriver.Chrome(r'E:/BaiduYunDownload/chromedriver') #进入浏览器
browser.get(r'http://data.cnki.net/ValueSearch/Index?datatype=year&ky=GDP') #打开初始页面,数据库初始页面就是GDP,所以也不用输入任何东西
browser.find_element_by_name('IndicateRegion').send_keys('北京') #把地区输入为北京
#也可以输入年份,以end year 为例
browser.find_element_by_name('EndYear').send_keys('2017')
browser.find_element_by_id('AdvancedSearch').click() #点击搜索~
table = browser.find_elements_by_xpath('/html/body/div[1]/div[3]/div[1]/div/div[2]/table/tbody/tr') #搜索会出来一个表
# 然后我们把它处理一下
ls = []
for tr in table:
tds = tr.find_elements_by_tag_name('td')
ls.append([td.text for td in tds])
pd.DataFrame(ls)
#搞定!
看看结果
这样用dataframe的操作把北京市的gdp弄出来应该就问题不大了。