Python爬虫爬企查查数据

#-*- coding-8 -*-

import requests

import lxml

import sys

from bs4 import BeautifulSoup

import xlwt

import time

import urllib

def craw(url,key_word,x):

User_Agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0'

# if x == 0:

# re = 'http://www.qichacha.com/search?key='+key_word

# else:

# re = 'https://www.qichacha.com/search?key={}#p:{}&'.format(key_word,x-1)

re = r'https://www.qichacha.com/search?key='+key_word

headers = {

'Host':'www.qichacha.com',

'Connection': 'keep-alive',

'Accept':r'text/html, */*; q=0.01',

'X-Requested-With': 'XMLHttpRequest',

'User-Agent':r'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',

'Referer': re,

'Accept-Encoding':'gzip, deflate, br',

'Accept-Language':'zh-CN,zh;q=0.9',

'Cookie':r'xxxxxxxxx这里换成你的cookiexxxxxxxx这里换成你的cookiexxxxxxxxx这里换成你的cookiexxxxxxx',

}

try:

response = requests.get(url,headers = headers)

if response.status_code != 200:

response.encoding = 'utf-8'

print(response.status_code)

print('ERROR')

soup = BeautifulSoup(response.text,'lxml')

except Exception:

print('请求都不让,这企查查是想逆天吗???')

try:

com_all_info = soup.find_all(class_='m_srchList')[0].tbody

com_all_info_array = com_all_info.select('tr')

print('开始爬取数据,请勿打开excel')

for i in range(0,len(com_all_info_array)):

# try:

temp_g_name = com_all_info_array[i].select('td')[2].select('.ma_h1')[0].text #获取公司名

temp_g_tag = com_all_info_array[i].select('td')[2].select('.search-tags')[0].text #获取公司标签

temp_r_name = com_all_info_array[i].select('td')[2].select('p')[0].a.text #获取法人名

temp_g_money = com_all_info_array[i].select('td')[2].select('p')[0].select('span')[0].text.strip('注册资本:') #获取注册资本

temp_g_date = com_all_info_array[i].select('td')[2].select('p')[0].select('span')[1].text.strip('成立日期:') #获取公司注册时间

temp_r_email = com_all_info_array[i].select('td')[2].select('p')[1].text.split('\n')[1].strip().strip('邮箱:') #获取法人Email

temp_r_phone = com_all_info_array[i].select('td')[2].select('p')[1].select('.m-l')[0].text.strip('电话:') #获取法人手机号

temp_g_addr = com_all_info_array[i].select('td')[2].select('p')[2].text.strip().strip('地址:') #获取公司地址

temp_g_state = com_all_info_array[i].select('td')[3].select('.nstatus.text-success-lt.m-l-xs')[0].text.strip() #获取公司状态

g_name_list.append(temp_g_name)

g_tag_list.append(temp_g_tag)

r_name_list.append(temp_r_name)

g_money_list.append(temp_g_money)

g_date_list.append(temp_g_date)

r_email_list.append(temp_r_email)

r_phone_list.append(temp_r_phone)

g_addr_list.append(temp_g_addr)

g_state_list.append(temp_g_state)

# except Exception:

# print('错误!')

except Exception:

print('好像被拒绝访问了呢...请稍后再试叭...')

if __name__ == '__main__':

global g_name_list

global g_tag_list

global r_name_list

global g_money_list

global g_date_list

global r_email_list

global r_phone_list

global g_addr_list

global g_state_list

g_name_list=[]

g_tag_list=[]

r_name_list=[]

g_money_list=[]

g_date_list=[]

r_email_list=[]

r_phone_list=[]

g_addr_list=[]

g_state_list=[]

key_word = input('请输入您想搜索的关键词:')

num = int(input('请输入您想检索的次数:'))+1

sleep_time = int(input('请输入每次检索延时的秒数:'))

key_word = urllib.parse.quote(key_word)

print('正在搜索,请稍后')

for x in range(1,num):

url = r'https://www.qichacha.com/search_index?key={}&ajaxflag=1&p={}&'.format(key_word,x)

s1 = craw(url,key_word,x)

time.sleep(sleep_time)

workbook = xlwt.Workbook()

#创建sheet对象,新建sheet

sheet1 = workbook.add_sheet('企查查数据', cell_overwrite_ok=True)

#---设置excel样式---

#初始化样式

style = xlwt.XFStyle()

#创建字体样式

font = xlwt.Font()

font.name = '仿宋'

# font.bold = True #加粗

#设置字体

style.font = font

#使用样式写入数据

print('正在存储数据,请勿打开excel')

#向sheet中写入数据

name_list = ['公司名字','公司标签','法定法人','注册资本','成立日期','法人邮箱','法人电话','公司地址','公司状态']

for cc in range(0,len(name_list)):

sheet1.write(0,cc,name_list[cc],style)

for i in range(0,len(g_name_list)):

print(g_name_list[i])

sheet1.write(i+1,0,g_name_list[i],style)#公司名字

sheet1.write(i+1,1,g_tag_list[i],style)#公司标签

sheet1.write(i+1,2,r_name_list[i],style)#法定法人

sheet1.write(i+1,3,g_money_list[i],style)#注册资本

sheet1.write(i+1,4,g_date_list[i],style)#成立日期

sheet1.write(i+1,5,r_email_list[i],style)#法人邮箱

sheet1.write(i+1,6,r_phone_list[i],style)#法人电话

sheet1.write(i+1,7,g_addr_list[i],style)#公司地址

sheet1.write(i+1,8,g_state_list[i],style)#公司状态

#保存excel文件,有同名的直接覆盖

workbook.save(r"D:\wyy-qcc-"+time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime()) +".xls")

print('保存完毕~')

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容