看看融资界都有哪些事情发生

浏览: 1457

前言


      近年来,随着移动互联网时代的高涨,形成了如火如荼的创业潮,如耳熟能详的滴滴、快滴到如今的共享经济,前仆后继,有成有败。经常你会听见某某公司融资多少多少,某某公司向哪家公司注资多少等等之类的信息。于是好奇,在网上搜索了有关融资方面的网站,惊喜万分,找到了“投资界”这个官网(http://zdb.pedaily.cn/)。
      官网上包含了各类事件,如投资事件、上市事件、并购事件等。而且每类事件都有详细的清单,如投资事件中包含融资方、投资方、融资方所属行业、融资事件、融资规模等信息。基于此,我又萌发了数据获取的念头,这里就把我爬虫的代码做一个分享。

image.png

image.png

数据爬虫


# ===== Python3 =====

# 导入第三方包
import requests
from bs4 import BeautifulSoup
import time
import pandas as pd

# 设置请求头
headers = {'Accept':'*/*','Accept-Encoding':'gzip, deflate','Accept-Language':'zh-CN,zh;q=0.9','Connection':'keep-alive','User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36'
         }

# ===== 获取网站第一层链接 =====

# 空列表,用于存储所有“详情”的链接
urls = []
# 遍历所有投资事件的网页,并抓下“详情”链接
for i in range(1,652):
   url = 'http://zdb.pedaily.cn/inv/p%s/' %i    
   # 发送请求
   res = requests.get(url, headers = headers).text
   # 解析源代码
   soup = BeautifulSoup(res, 'html.parser')    
   # 获取“详情”对应的url
   urls.extend(['http://zdb.pedaily.cn' + i.find('a')['href'] for i in soup.findAll('dt',{'class':'view'})[1:]])
   
# ===== 举例说明第一个投资事件的详细信息 =====  

# 先举其中一条链接,作为数据获取的例子
url = urls[0]
# 请求
res = requests.get(url, headers = headers).text
# 解析
soup = BeautifulSoup(res, 'html.parser')    
# 抓取目标字段
financing = soup.find('div',{'class':'info'}).findAll('li')[0].find('a').text
investment = soup.find('div',{'class':'info'}).findAll('li')[1].find('a').text
money = soup.find('div',{'class':'info'}).findAll('li')[2].text.split(':')[1]
turn = soup.find('div',{'class':'info'}).findAll('li')[3].text.split(':')[1]
date = soup.find('div',{'class':'info'}).findAll('li')[4].text.split(':')[1]
industry = soup.find('div',{'class':'info'}).findAll('li')[5].find('a').text    

# 打印结果
print(financing,investment,money,turn,date,industry)

# ===== 抓取所有事件的详细信息 =====    

# 构建空列表,用户后面存储数据
data = []
# 循环抓数
for url in urls:
   # 获取源代码并解析
   res = requests.get(url, headers = headers).text
   soup = BeautifulSoup(res, 'html.parser')
       # 异常处理
   try:
       # 目标数据获取
       financing = soup.find('div',{'class':'info'}).findAll('li')[0].find('a').text
       investment = soup.find('div',{'class':'info'}).findAll('li')[1].find('a').text
       money = soup.find('div',{'class':'info'}).findAll('li')[2].text.split(':')[1]
       turn = soup.find('div',{'class':'info'}).findAll('li')[3].text.split(':')[1]
       date = soup.find('div',{'class':'info'}).findAll('li')[4].text.split(':')[1]
       industry = soup.find('div',{'class':'info'}).findAll('li')[5].find('a').text
   except:
       pass    # 数据存储到字典中
   data.append({'financing':financing,'investment':investment,'money':money,'turn':turn,'date':date,'industry':industry})    
   # 停顿,防止反爬
   time.sleep(3)
   
# 将抓取下来的信息构造成数据框对象
Invest_Events = pd.DataFrame(data)
# 数据导出
Invest_Events.to_excel('Invest_Events.xlsx', index = False)

      考虑到运行时间比较长,这里就抓了6000多的融资事件,如需获取数据,可关注公众号(lsxxx2011)并回复“融资事件”即可获得代码和数据。

结语


      OK,关于投资界官网中融资事件的数据爬虫就分享到这里,如果你有任何问题,欢迎在公众号的留言区域表达你的疑问。同时,也欢迎各位朋友继续转发与分享文中的内容,让更多的人学习和进步。

关注“每天进步一点点2015”,与小编同进步!

推荐 0
本文由 每天进步一点点2015 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册