python+selenium自动截取政府官网及失信公示平台搜索结果图
在债券融资部门实习时,由于要检查发行人资信状况,可能需要去各大部委及细分监管部门的官网和失信公示平台搜集数据并截图,这项工作不仅要针对发行人还要截取重要的子公司及联营企业的信息,而发行人往往资产规模庞大,子公司及联营企业众多,手工截图是一项非常无聊的活,动辄要占用几天的时间,为实现技术性摸鱼,我们可以利用下面代码简化上述任务,目前此为原始版本,还需完善,但是已经让我们看似忙碌工作,其实愉快摸鱼。
不同的网站需要采取不同的方法,有的填充搜索框用的是find_element_by_id,还有少数用的是find_element_by_name,要看网站的具体情况
# -*- coding: utf-8 -*-from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
import os
import pandas as pd
from PIL import ImageGrab
import random
# 截图程序
def screenshot(firm_name,web_name,input_box_id,target_url):try:driver = webdriver.Chrome()driver.get(target_url)input_box=driver.find_element_by_id(input_box_id)input_box.clear()input_box.send_keys(firm_name)input_box.send_keys(Keys.ENTER)time.sleep(1)driver.maximize_window()
#也可以用webdriver 自带的get_screenshot_as_file()函数,不过它能截取的仅限浏览器内的内容 #driver.get_screenshot_as_file('C:\\Users\\11580\\Desktop\\test_wechat\\'+firm_name+'\\'+firm_name+web_name+'.png')#随机休眠的目的是避免被官网识别为自动化测试工具,引起不必要的错误time.sleep((random.randint(4,8)))im = ImageGrab.grab() '''实现截屏功能,我的电脑是1920*1018的显示器,并且为125%的放大,全屏截图有点小问题,这个可以参考Stack Overflow中大神们提供的方法,传送门为:(https://stackoverflow.com/questions/25467288/pils-imagegrab-is-capturing-at-the-wrong-resolution )为了方便日常使用,推荐使用改注册表的方式,亲测有效,不影响正常的使用体验'''path_way='C:\\Users\\11580\\Desktop\\test_wechat\\'+firm_name+'\\'+firm_name+web_name+'.png'im.save((path_way),'PNG') #设置保存路径和图片格式print("%s:截图成功"%(firm_name))driver.quit()except Exception as e:print(firm_name+'fail')
#把自己要查的公司放入firm_names 中
firm_names={'A有限公司','B有限公司','C限公司','D有限公司','E有限公司',
}
#利用chrome中的检查,获得网站搜索框id,网址及,网站名称
input_box_id='searchword'
target_url='http://www.mee.gov.cn/'
web_name='--生态环境部'
def main():for firm_name in firm_names:screenshot(firm_name=firm_name,web_name=web_name,input_box_id=input_box_id,target_url=target_url+firm_name)main()
'''
博主查询过的一些网址
input_box_id='ess_ctr151088_ListC_Info_ctl00_KEYWORDS'
target_url='http://www.customs.gov.cn/'
web_name='海关总署'
input_box_id='searchText'
target_url='http://www.mnr.gov.cn/'
web_name='自然资源部'
input_box_id='searchText'
target_url='http://www.moa.gov.cn/'
web_name='自然资源部'
input_box_id='qt'
target_url='http://www.ndrc.gov.cn/'
web_name='发展和改革委员会'
input_box_id='searchword'
target_url='http://www.cnpc.com.cn/'
web_name='中国石油'
input_box_id='keyword'
target_url='https://www.315gov.cn/'
web_name='中国商务诚信公共服务平台'
input_box_id='search'
target_url='http://www.stats.gov.cn/'
web_name='国家统计局'
input_box_id='searchword'
target_url='http://www.cbirc.gov.cn/'
web_name='银保监会'
input_box_id='i'
target_url='http://www.cnsalt.cn/'
web_name='中国盐业协会'
input_box_id='user-defined01'
target_url='http://www.miit.gov.cn/'
web_name='--工信部'
input_box_id='searchText'
target_url='http://www.mnr.gov.cn/'
web_name='--自然资源部门户网站'
input_box_id='searchword'
target_url='http://www.cbirc.gov.cn/'
web_name='银保监会'
input_box_id='queryvalue'
target_url='http://hd.chinatax.gov.cn/xxk/'
web_name='--国家税务总局-重大税收违法案件信息公布'
input_box_id='key'
target_url='http://www.mem.gov.cn/was5/web/sousuo/index.html?sw=&date1=&date2=&stype=0'
web_name='--应急管理部'
input_box_id='searchValue'
target_url='http://search.mofcom.gov.cn/swb/searchList.jsp'
web_name='--商务部'
input_box_id='kw'
target_url='http://search.ccgp.gov.cn/bxsearch?searchtype=2&page_index=1&bidSort=0&buyerName=&projectId=&pinMu=0&bidType=0&dbselect=bidx&kw=&start_time=2019%3A02%3A14&end_time=2019%3A08%3A15&timeType=2&displayZone=&zoneId=&pppStatus=0&agentName='
web_name='--中国政府采购网'
input_box_id='ID_codeName'
target_url='http://credit.customs.gov.cn/ccppwebserver/pages/ccpp/html/ccppindex.html'
web_name='--中国海关企业进出口信用信息公示平台'
input_box_id='gover_search_key'
target_url='http://wenshu.court.gov.cn/'
web_name='--裁判文书网'
input_box_id='swd'
target_url='http://www.mof.gov.cn/was5/web/czb/wassearch.jsp'
web_name='--财政部'
input_box_id='search'
target_url='http://www.stats.gov.cn/was5/web/search?channelid=288041&andsen='
web_name='--国家统计局'
'''
除上述版面外还有find_element_by_name 的方法
# -*- coding: utf-8 -*-
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
import os
import pandas as pd
from PIL import ImageGrabdef screenshot(firm_name,web_name,input_box_name,target_url):try:driver = webdriver.Chrome()driver.get(target_url)input_box=driver.find_element_by_name(input_box_name)input_box.clear()input_box.send_keys(firm_name)input_box.send_keys(Keys.ENTER)driver.maximize_window()time.sleep(8)im = ImageGrab.grab() #实现截屏功能path_way='C:\\Users\\11580\\Desktop\\test_wechat\\'+firm_name+'\\'+firm_name+web_name+'.png'im.save((path_way),'PNG') #设置保存路径和图片格式print("%s:截图成功"%(firm_name))driver.quit()except Exception as e:print(firm_name+'fail')#参数名
firm_names={'A有限公司','B有限公司','C有限公司',
}input_box_name='orsen'
target_url='http://www.moa.gov.cn/'
web_name='农业农村部'
def main():for firm_name in firm_names:screenshot(firm_name=firm_name,web_name=web_name,input_box_name=input_box_name,target_url=target_url)main()
'''
还有下列网站也是这种操作
input_box_name='query'
target_url='http://www.mohurd.gov.cn/'
web_name='住房和城乡建设部'
'''
#有验证码的情况
一些热门的查询信息平台,比如说证监会的证券期货市场失信查询平台,比较重要,所以查询的时候会有一些验证措施,针对这些验证措施,当然可以直接用python 来搞定,但是方法复杂,识别及验证成功率不是特别理想,后续博客可能引入python来解决它们,但是现阶段手工操作是性价比最高的方案,因为我们采取的方法本身就是模拟浏览器操作,完全可以加入手工操作的环节,只需要让睡眠时间更久一点就可以。
# -*- coding: utf-8 -*-
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
import os
import pandas as pd
from PIL import ImageGrabdef screenshot(firm_name,web_name,input_box_id,target_url):try:driver = webdriver.Chrome()driver.get(target_url)input_box=driver.find_element_by_id(input_box_id)input_box.clear()input_box.send_keys(firm_name)input_box.send_keys(Keys.ENTER)driver.maximize_window()time.sleep(25) im = ImageGrab.grab() #实现截屏功能path_way='C:\\Users\\11580\\Desktop\\test_wechat\\'+firm_name+'\\'+firm_name+web_name+'.png'im.save((path_way),'PNG') #设置保存路径和图片格式print("%s:截图成功"%(firm_name))driver.quit()except Exception as e:print(firm_name+'fail')#参数名
firm_names={'a','b','c'
}input_box_id='objName'
target_url='http://neris.csrc.gov.cn/shixinchaxun/'
web_name='--证监会-证券期货市场失信记录查询平台'def main():for firm_name in firm_names:screenshot(firm_name=firm_name,web_name=web_name,input_box_id=input_box_id,target_url=target_url)main()
correct_firm_names={'A有限公司','B合伙企业(有限合伙)','C合伙企业(有限合伙)',}def correct_wrong():for firm_name in correct_firm_names:screenshot(firm_name=firm_name,web_name=web_name,input_box_id=input_box_id,target_url=target_url)
#有时输错,可能需要返工,注释main,执行correct_worng 即可
#correct_wrong()
最后,针对响应速度特别慢,经常崩的一些网站,比如全国企业信用信息公示系统等,建议还是不要用这些骚操作了,安安心心的自己输,等待,等待,刷新,再等待就好了,能完成任务就好了,还想摸鱼,还有裁判文书网,能不能截到,全看网站心情,end
python+selenium自动截取政府官网及失信公示平台搜索结果图相关推荐
- python使用selenium爬取联想官网驱动(一):获取遍历各驱动的下载网址
python使用selenium爬取联想官网驱动(一):获取遍历各驱动的下载网址然后wget命令试验下载 由于初期学习,所以先拿一个型号的产品驱动试验. (1)以下为在联想某型号产品获取相关驱动下载的 ...
- 爬虫实战(二)—利用requests、selenium爬取王者官网、王者营地APP数据及pymongo详解
概述 可关注微信订阅号 loak 查看实际效果. 代码已托管github,地址为:https://github.com/luozhengszj/LOLGokSpider ,包括了项目的所有代码. 本文 ...
- Python + Selenium 自动发布文章(二):简书
Python + Selenium 自动发布文章系列: Python + Selenium 自动发布文章(一):开源中国 Python + Selenium 自动发布文章(二):简书 Python + ...
- Python+Selenium自动搜索基金业协会指定企业名单,抓取指定信息并保存到数据库...
Python+Selenium自动搜索基金业协会指定企业名单,抓取指定信息并保存到数据库.网址https://gs.amac.org.cn/amac-infodisc/res/pof/manager/ ...
- python selenium爬取去哪儿网的酒店信息——详细步骤及代码实现
目录 准备工作 一.webdriver部分 二.定位到新页面 三.提取酒店信息 ??这里要注意?? 四.输出结果 五.全部代码 准备工作 1.pip install selenium 2.配置浏览器驱 ...
- python+selenium+webdriver 截取全页面长图
有的时候我们要截取整个页面,而不是当前的屏幕. python+selenium+webdriver 截取全页面长图: from selenium import webdriver import tim ...
- python自动下载qq文件夹_GitHub - 1061700625/QQZone_AutoDownload_Album: Python+selenium 自动下载QQ空间相册...
QQZone_AutoDownload_Album Python+selenium 自动下载QQ空间相册 . selenium_firefox.zip 需要解压后放在同路径下 . 貌似腾讯的登陆加密做 ...
- python selenium 爬取去哪儿网的数据
python selenium 爬取去哪儿网的数据 完整代码下载:https://github.com/tanjunchen/SpiderProject/tree/master/selenium+qu ...
- python+selenium爬取链家网房源信息并保存至csv
python+selenium爬取链家网房源信息并保存至csv 抓取的信息有:房源', '详细信息', '价格','楼层', '有无电梯 import csv from selenium import ...
- python+Selenium自动签到实例
引言 环境准备 代码 飞猪签到领里程 京东签到领京豆 什么值得买签到 windows计划任务 方法一 方法二 总结 参考 引言 Selenium是一个用于Web应用程序测试的工具.可以十分简单的模拟输 ...
最新文章
- 《科学》:中德解析新冠主要蛋白酶晶体结构,有助抑制剂研发
- Ubuntu系统(七)-安装FTP
- 程序员的核心竞争力究竟是什么?
- iOS11最新隐私信息访问列表
- Wonder——Auggie | Education
- 【python】使用枚举类
- 计算机出现假桌面怎么解决办法,Win10系统桌面频繁假死的解决方法
- 上海90后用优惠券薅羊毛45万被捕;华为再招201万元年薪“天才少年”;微软收购网络安全公司 RiskIQ|极客头条...
- 经典调用共享变量wait()方法的实例
- TCP传输的三次握手四次挥手策略
- Xtreme Report为windows开发者提供一个完善的类似于Outlook 2003报表的风格
- Solidwork SW许可限制,许可加入白名单
- 软件开发生命周期(Software Development Life Cycle)(一)
- 我读过的(股票)书籍
- 2018年06月 Godaddy自助建站 国内购买域名转入
- android6.0 来电流程,Android4.22来电铃声流程
- python写情人节女朋友的EXCEL画像!
- 将自定义程序写入U盘引导区,并在真机执行
- Unity基于GraphView的行为树编辑器
- web漏洞扫描器-Burpsuite 常规测试