目录

1. 需要用到的库

2. 本地打开浏览器,需要手动登录。(selenium库)

3. 从excel文件中读取数据(xlrd库)

4. 模拟爬虫(利用模拟手动操作浏览器来实现)

1. Xpath的寻找方式

2. 开始搜索

3. 保存信息


以下涉及到的文件信息和地址可以自行修改使用。

1. 需要用到的库

import importlib #提供import语句
import sys
import time #提供延时功能
import xlrd #excel文件读取
import os    #系统操作库 用于打开chrome
import xlwt #excel文件写入
from xlutils.copy import copy #excel文件复制
from selenium.webdriver.common.by import By    #用于获取网页中的相关元素、标签
from selenium import webdriver
importlib.reload(sys)    #避免utf-8等编码问题的出现

2. 本地打开浏览器,需要手动登录。(selenium库)

#伪装成浏览器,防止被识破
option = webdriver.ChromeOptions()
option.add_argument('--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36"')    #请求头
driver = webdriver.Chrome(options=option)    #打开chrome浏览器
#打开企查查登录页面
driver.get('https://www.qichacha.com/user_login')
time.sleep(20) #等待20s以用于完成手动登录操作
#手动登录操作

3. 从excel文件中读取数据(xlrd库)

#从excel获取查询企业单位
worksheet = xlrd.open_workbook(r'爬虫结果.xlsx')    #打开已有企业名称的文件
sheet1 = worksheet.sheet_by_name("企业信息")#取工作表名称为“企业信息”的工作表
rows = sheet1.nrows # 获取行数
inc_list = []   #用列表来装企业名称
for i in range(0,rows) :data = sheet1.cell_value(i, 0) # 取第1列数据 inc_list.append(data)
print(inc_list)
inc_len = len(inc_list)    #获取总共读取到的列表元素个数

4. 模拟爬虫(利用模拟手动操作浏览器来实现)

1. Xpath的寻找方式

2. 开始搜索

#开始爬虫
for i in range(inc_len):txt = inc_list[i]time.sleep(1)if (i==0):   #如果是第一次 则直接向搜索框注入内容,不用清除搜索框中的内容。 #向搜索框注入文字driver.find_element(By.ID,'searchKey').send_keys(txt)    #这里的ID可以用开发者界面在搜索框那找到#单击搜索按钮srh_btn = driver.find_element(By.XPATH,'/html/body/div[1]/div[2]/section[1]/div/div/div/div[1]/div/div/span/button')    #这里的XPATH直接复制过来替换掉就可以srh_btn.click()    time.sleep(2)else:#清楚搜索框内容driver.find_element(By.ID,'searchKey').clear()# 向搜索框注入下一个企业地址driver.find_element(By.ID,'searchKey').send_keys(txt)#找到并点击搜索按钮srh_btn=driver.find_element(By.XPATH,'/html/body/div[1]/div[1]/div/div[1]/div/div/div/div/span/button')srh_btn.click()

3. 保存信息

    Credit_List = []    #用来装社会信用代码的空列表try:#直接找到装在社会信用代码的标签credit_code= driver.find_element(By.XPATH,'/html/body/div[1]/div[2]/div[2]/div[3]/div/div[2]/div/table/tr[1]/td[3]/div/div[3]/div[1]/span[4]/span').text#字符化,防止后续出现编码问题credit_code = str(credit_code)print(credit_code,"社会码")    #每找到一条,则打印一条在终端上。Credit_List.append(credit_code)    #添加到列表except:credit_code='没有找到社会码,可能是企业名称非全称导致筛选信息模糊...'Credit_List.append(credit_code)    #没找到也要添加到列表里面去,实现与企业一一对应print("没有找到社会码,可能是企业名称非全称导致筛选信息模糊...")

4. 保存数据(openpyxl库)

#读取到的数据存入excel中
import openpyxl as pl
wb = pl.load_workbook(r'爬虫结果.xlsx')    #打开工作簿
ws = wb.active    #读取第一张工作表i = 0
while i < len(Credit_List):ws.cell(row=i+1, column=2,value=Credit_List[i])    #将信用代码的列表中的每个数据写入到excel中,cell(row=1,column=1,values = 10) 表示A1单元格内容是10.print(f'{Credit_List[i]}信用码正在存入{ws.cell(i+1, 1).value}中')    #cell(1,1).value表示单元格A1的值i = i + 1wb.save(r'爬虫结果.xlsx')    #保存文件,这一步必须需要,否则文件没保存等于白搞。
print("Already get things done ,please check the file now!")    #可以自行编辑程序完成之后的输出内容。

【交通领域张同学】-基础selenium企查查企业信用码抓取相关推荐

  1. Python+Selenium自动搜索基金业协会指定企业名单,抓取指定信息并保存到数据库...

    Python+Selenium自动搜索基金业协会指定企业名单,抓取指定信息并保存到数据库.网址https://gs.amac.org.cn/amac-infodisc/res/pof/manager/ ...

  2. 企查查企业详情爬虫(自动模拟登录企业详情页法律风险爬取)

    由于爬取数据涉及到网站会员,没有会员有需求的别多虑,找老板冲啊 读取已有json文件爬取对应公司的企业数据,保存 工具: Chrome 点击下载chrome的webdriver: http://chr ...

  3. python采集企查查企业信息,手工绕开企查查的登录验证

    想要从企查查爬取企业信息,如果没有登录直接检索,邮箱.电话都被隐藏了: 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例 ...

  4. “征信修复”可信吗?企查查显示信用修复相关企业超1.7万家

    花钱就能"洗白"不良征信记录?如果有人称能"修复征信"该相信吗?千万别"病急乱投医"! 记者在企查查搜索发现,有关"征信修复&qu ...

  5. 利用python提取企查查企业的工商基本信息

    搞证券的小伙伴有时需要获取企业的工商基本信息,弄得企业少一点还好,但如果需要获取几百个的时候,可能会很麻烦,因此本次博客就记录一下,自动获取工商信息的一些方法 文章目录 获取列表信息 获取基本的信息 ...

  6. scrapy ,Selenium 企查查模拟登录

    middlewares.py文件 **#更换User-agent ,读取cookie** import time from selenium import webdriver from scrapy. ...

  7. java 解决企查查非法操作验证问题 爬取企查查企业相关数据 最新实践可用 java 代码

    这两天需要用到某查查的数据.发现只能看到100页多余部分需要开启会员.导出表格也需要开vip .虽然在某宝上十几块就可以.但是我决定还是自己写个爬虫代码 将数据导出到 xls 表格 本来想用pytho ...

  8. 抖抖代码-爬取企查查企业信息

    这里只写用到的工具 解题思路 授人以鱼不如授人以渔! # -*- coding-8 -*-import requests from bs4 import BeautifulSoup import os ...

  9. Uipath 学习栏目基础教学:8、uipath 屏幕抓取获取文本

    提示:专栏解锁后,可以查看该专栏所有文章. 文章目录 一.前言 二.获取文本 2.1流程图 一.前言 Uipath 学习栏目基础教学:7.uipath 用open browser实现打开网页并登录 在 ...

最新文章

  1. FastThreadLocal吞吐量居然是ThreadLocal的3倍
  2. selenium之frame操作
  3. Redis配置到本地以及可视化工具的安装运用
  4. VMware学习使用笔记
  5. 50个python库
  6. 迷你linux设备,ComputeLab发布MintBox迷你PC:专为Linux系统玩家打造
  7. @PostConstruct注解学习
  8. Ext.data-GroupingStore/JsonStore/SimpleStore
  9. 新乡医学院2018计算机考试题,新乡医学院继教2018级局部解剖学复习自测下肢答案...
  10. aws s3 獲取所有文件_前端上传文件到Aws S3文件服务器
  11. C++ 序列式容器之vector
  12. python文件命名 数字_python 批量修改数字类的文件名
  13. 吴恩达神经网络和深度学习-学习笔记-33-为什么使用卷积
  14. jmeter 分布式注意事项
  15. PAT甲级题考点(转载各个大佬)
  16. docker安装windows镜像,实战案例
  17. CAD中插入外部参照字体会变繁体_打开CAD图纸发现图形丢失,原来是大意了,四招解决...
  18. linux的目录以及作用
  19. powerdesigner中把用例关系线设置成直线
  20. 组合数学——信封错装问题

热门文章

  1. word退格键不管用
  2. 拒绝做伸手党(程序猿)心得体会
  3. RK3399平台开发系列讲解(内核入门篇)1.18、 Sysfs设备驱动管理
  4. 全志V3S嵌入式驱动开发(开发软件搭建)
  5. ETC卡PBOC操作
  6. MAC: PBOC-MAC DES算法
  7. cookie可存的最大限制_苹果完全屏蔽第三方 Cookie,七天清空本地存储
  8. 国内做校园信息化的龙头企业公司有哪些?
  9. 关于TCP_CORK的一个细节
  10. PHP Laravel报错No application encryption key has been specified