【交通领域张同学】-基础selenium企查查企业信用码抓取
目录
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企查查企业信用码抓取相关推荐
- Python+Selenium自动搜索基金业协会指定企业名单,抓取指定信息并保存到数据库...
Python+Selenium自动搜索基金业协会指定企业名单,抓取指定信息并保存到数据库.网址https://gs.amac.org.cn/amac-infodisc/res/pof/manager/ ...
- 企查查企业详情爬虫(自动模拟登录企业详情页法律风险爬取)
由于爬取数据涉及到网站会员,没有会员有需求的别多虑,找老板冲啊 读取已有json文件爬取对应公司的企业数据,保存 工具: Chrome 点击下载chrome的webdriver: http://chr ...
- python采集企查查企业信息,手工绕开企查查的登录验证
想要从企查查爬取企业信息,如果没有登录直接检索,邮箱.电话都被隐藏了: 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例 ...
- “征信修复”可信吗?企查查显示信用修复相关企业超1.7万家
花钱就能"洗白"不良征信记录?如果有人称能"修复征信"该相信吗?千万别"病急乱投医"! 记者在企查查搜索发现,有关"征信修复&qu ...
- 利用python提取企查查企业的工商基本信息
搞证券的小伙伴有时需要获取企业的工商基本信息,弄得企业少一点还好,但如果需要获取几百个的时候,可能会很麻烦,因此本次博客就记录一下,自动获取工商信息的一些方法 文章目录 获取列表信息 获取基本的信息 ...
- scrapy ,Selenium 企查查模拟登录
middlewares.py文件 **#更换User-agent ,读取cookie** import time from selenium import webdriver from scrapy. ...
- java 解决企查查非法操作验证问题 爬取企查查企业相关数据 最新实践可用 java 代码
这两天需要用到某查查的数据.发现只能看到100页多余部分需要开启会员.导出表格也需要开vip .虽然在某宝上十几块就可以.但是我决定还是自己写个爬虫代码 将数据导出到 xls 表格 本来想用pytho ...
- 抖抖代码-爬取企查查企业信息
这里只写用到的工具 解题思路 授人以鱼不如授人以渔! # -*- coding-8 -*-import requests from bs4 import BeautifulSoup import os ...
- Uipath 学习栏目基础教学:8、uipath 屏幕抓取获取文本
提示:专栏解锁后,可以查看该专栏所有文章. 文章目录 一.前言 二.获取文本 2.1流程图 一.前言 Uipath 学习栏目基础教学:7.uipath 用open browser实现打开网页并登录 在 ...
最新文章
- FastThreadLocal吞吐量居然是ThreadLocal的3倍
- selenium之frame操作
- Redis配置到本地以及可视化工具的安装运用
- VMware学习使用笔记
- 50个python库
- 迷你linux设备,ComputeLab发布MintBox迷你PC:专为Linux系统玩家打造
- @PostConstruct注解学习
- Ext.data-GroupingStore/JsonStore/SimpleStore
- 新乡医学院2018计算机考试题,新乡医学院继教2018级局部解剖学复习自测下肢答案...
- aws s3 獲取所有文件_前端上传文件到Aws S3文件服务器
- C++ 序列式容器之vector
- python文件命名 数字_python 批量修改数字类的文件名
- 吴恩达神经网络和深度学习-学习笔记-33-为什么使用卷积
- jmeter 分布式注意事项
- PAT甲级题考点(转载各个大佬)
- docker安装windows镜像,实战案例
- CAD中插入外部参照字体会变繁体_打开CAD图纸发现图形丢失,原来是大意了,四招解决...
- linux的目录以及作用
- powerdesigner中把用例关系线设置成直线
- 组合数学——信封错装问题