# -*- coding: utf-8 -*-
"""
Created on Sat Oct 14 15:17:52 2017
@author: ESRI
"""
import requests
import time
from bs4 import BeautifulSoup
import pandas as pd
# 导入pandas库
# 设置列表页面URL的固定部分
url = 'https://bj.lianjia.com/ershoufang/'
BASE_URL_U1 = "http://www.cyzone.cn/event/list-764-0-"
BASE_URL_U2 = "-0-0-0-0/"
# 最好在http请求中设置一个头部信息,否则很容易被封ip
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
'Accept':'text/html;q=0.9,*/*;q=0.8',
'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Accept-Encoding':'gzip',
'Connection':'close',
'Referer':'http://www.baidu.com/link?url=_andhfsjjjKRgEWkj7i9cFmYYGsisrnm2A-TN3XZDQXxvGsM9k9ZZSnikW2Yds4s&wd=&eqid=c3435a7d00146bd600000003582bfd1f'
}
# 循环抓取列表页信息
for i in range(1,31): # 分页
if i == 1:
i=str(1)
var_url = (BASE_URL_U1 + i + BASE_URL_U2)
r = requests.get(url=var_url, headers=headers)
html = r.content
#print(html)
else:
i=str(i)
var_url=(BASE_URL_U1 + i + BASE_URL_U2)
var_url=requests.get(url=var_url,headers=headers)
html2=r.content
html = html + html2
# 每次间隔1秒
time.sleep(1)
# 解析抓取的页面内容
res = BeautifulSoup(html, 'html.parser')
# 获取感兴趣目标信息:
# 提取公司名称
# table>tbody>tr.table-plate3>td.tp2>span.tp2_tit>a
companys = res.find_all('span', 'tp2_tit')
cnames = []
print(len(companys))
for item in companys:
cname = item.a.string
cnames.append(cname)
#print(cnames)
# 获取感兴趣目标信息:
# 提取公司详情url
companys = res.find_all('span', 'tp2_tit')
urls = []
for item in companys:
url = item.a['href']
urls.append(url)
# 获取感兴趣目标信息:
# 提取当前融资轮次,行业,投资方和更新时间
# res = BeautifulSoup(html, 'html5lib')
# finances = res.select('div#main > div.list-table3 > table > tbody > tr')
finances = res.find_all('tr', 'table-plate3')
# 融资轮次,行业,投资方,更新时间
financing_rounds, businesses, investors, update_times = [],[],[],[]
#print(len(finances))
for i in range(0, len(finances)):
# 获取第一行数据(范围)
items = finances[i].find_all('td')
# print(items)
# 获取融资轮次
fround = items[-5].text.strip()
#获取行业
business = items[-4].text.strip()
#获取投资方
investor = items[-3].text.strip()
#获取更新时间
update_time = items[-2].text.strip()
financing_rounds.append(fround)
businesses.append(business)
investors.append(investor)
update_times.append(update_time)
# 将获取的数据进行汇总:
#print(len(cnames))
#print(len(urls))
#print(len(financing_rounds))
#print(len(financing_rounds))
#print(len(businesses))
#print(len(investors))
#print(len(update_times))
# 创建数据表
resultsDatas = pd.DataFrame({'公司名称':cnames,'详情URL':urls,'融资轮次':financing_rounds,'行业':businesses,'投资方':investors,'更新时间':update_times})
# 查看数据表内容
print(resultsDatas)
结果:
公司名称 投资方 更新时间 融资轮次 行业 \
0 Future Go智晓未来 881万人民币 天使轮 天使轮 158笔
1 懒猫社长 生活消费 2017-10-13 A轮 同方厚持
2 乐刻运动 医疗健康 2017-10-13 C轮 高瓴资本 华晟资本-华兴资本 IDG资本
3 WAVE浪 生活消费 2017-10-13 天使轮 创丰资本 赤子基金
4 一粒传媒 文体娱乐 2017-10-13 天使轮 投资方未透露
5 MIOTECH妙盈科技 金融支付 2017-10-13 A轮 Horizons Ventures维港投资 真格基金
6 玖富咨询9FBank 金融支付 2017-10-13 B轮 投资方未透露
7 娱加娱乐 内容产业 2017-10-13 战略投资 芒果文创基金
8 洒哇地咔 硬件 2017-10-13 A轮 奋达科技(泓锦文基金) 水木资本
9 武汉飞渡教育 教育 2017-10-13 战略投资 小站教育
10 作业盒子 教育 2017-10-13 B+轮 贝塔斯曼亚洲投资基金 好未来(学而思) 百度风投 ····
11 Vingt Ans 电子商务 2017-10-13 A轮 彬复资本
12 123GO 生活消费 2017-10-13 Pre-A 九万资本 吴波
13 HoloMatic禾多科技 交通出行 2017-10-13 天使轮 IDG资本 四维图新 贝塔斯曼亚洲投资基金····
。。。。。。。。。。。。。。。。。。。