吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6595|回复: 32
收起左侧

[Python 转载] python爬取某查查用selenium终于搞定了!

  [复制链接]
D.A. 发表于 2020-8-13 18:32
本帖最后由 D.A. 于 2020-8-14 08:56 编辑

之前试过用request的方法爬取企查查, 结果完全获取不到信息。经论坛朋友们指点,找到selenium神器,学了两天,终于可以啦!
怕被封号,所以设置了很多等待时间,爬取速度比较慢。


代码如下:


[Python] 纯文本查看 复制代码
from selenium import webdriver
import time
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import xlrd
from xlutils.copy import copy
import random

####################################模拟使用IE浏览器登陆####################################
option = webdriver.IeOptions()
option.add_argument('--user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"')
path = 'C:\Program Files (x86)\Internet Explorer\IEDriverServer.exe'
driver = webdriver.Ie(executable_path=path, options=option)
driver.implicitly_wait(10)


####################################通过名称获取网页####################################
#打开搜索页
driver.get('https://www.qcc.com/search?key=%E6%B1%9F%E5%AE%81%E5%8E%BF%E8%93%9D%E5%A4%A9%E7%A0%96%E5%8E%82')
time.sleep(20)  # 20s内手动登录
#输入搜索词
#corps = ['广州海洋勘探开发总公司', '广东车海洋环保科技有限公司', '广东粤新海洋工程装备股份有限公司', '广东省海洋工程职业技术学校(广东省海洋工程技工学校)',]
         #'广东华风海洋信息系统服务有限公司', '广州海洋天网科技股份有限公司', '中船海洋与防务装备股份有限公司', '广州海洋生物科普有限公司']
for i in range(0, len(corps)):
    corp = corps[i]
    #清空搜索框
    driver.find_element_by_id('headerKey').clear()
    #向搜索框输入搜索词
    driver.find_element_by_id('headerKey').send_keys(corp)
    time.sleep(6)
    try:
        #获取公司链接
        link = driver.find_element_by_xpath('//a[@class="list-group-item keyMoveItem"]').get_attribute("href")
        #打开公司链接
        driver.get(link)
        time.sleep(6)
    except:
        print(corp + ':未查找到信息!')

####################################获取信息####################################
    #获取子界面
    elements = driver.find_elements_by_class_name('company-nav-head')
    for element in elements:
        ele = element.get_attribute('href')
        #点击基本信息
        if 'base' in ele:
            element.click()
            #获取公司名称
            corpname = driver.find_element_by_xpath('//div[@class="row title jk-tip"]/h1').text
            #获取所属行业
            try:
                hangye = driver.find_element_by_xpath('//table[@class="ntable"]//tr[4]/td[6]').text
            except:
                hangye = 'None'
            #获取人员规模
            try:
                renyuan = driver.find_element_by_xpath('//table[@class="ntable"]//tr[6]/td[2]').text
            except:
                renyuan = 'None'
            #获取经营范围
            try:
                jingying = driver.find_element_by_xpath('//table[@class="ntable"]//tr[9]/td[2]').text
            except:
                jingying = 'None'
            #获取标签
            try:
                tags = driver.find_elements_by_xpath('//div[@class="row tags"]/span')
                tagname = []
                for tag in tags:
                    tagname.append(tag.text)
                tagname = "、".join(tagname)
            except:
                zl = "None"
            #print(corpname + '-'+ hangye + '-'+ renyuan + '-'+ jingying + '-'+ tagname)
        #点击专利信息
        elif 'assets' in ele:
            element.click()
            #获取科技创新含量
            try:
                techscore = driver.find_element_by_xpath('//div[@class="zlchart-tcount"]/span').text
            except:
                techscore = "None"
            #获取专利数量
            try:
                zlcount = driver.find_element_by_xpath('//aspan[@class="title"]/span[@class="tbadge"]').text
            except:
                zlcount = "None"
            #获取专利信息
            try:
                zlments = driver.find_elements_by_xpath('//section[@id="zhuanlilist"]//table[@class="ntable ntable-odd"]//tr/td[5]')
                zls = []
                for zlment in zlments:
                    zls.append(zlment.text)
                zl = "、".join(zls)
            except:
                zl = "None"
            #print(corpname + '-' + techscore + '-' + zlcount + '-' + zl)
        else:
            pass
        time.sleep(4)

####################################保存信息####################################
    #保存到excel中
    rexcel = xlrd.open_workbook("C:/Users/SNT/Desktop/qcc.xls")
    table = rexcel.sheets()[0]  # 打开第一个sheet
    rows = table.nrows  # 获取行数

    # 用xlutils方法追写excel
    excel = copy(rexcel)  # 用xlutis提供的copy方法将xlrd对象转化为xlwt对象
    sheet = excel.get_sheet(0)  # 获取第一个sheet
    sheet.write(rows, 0, rows)
    sheet.write(rows, 1, corpname)
    sheet.write(rows, 2, tagname)
    sheet.write(rows, 3, hangye)
    sheet.write(rows, 4, renyuan)
    sheet.write(rows, 5, jingying)
    sheet.write(rows, 6, techscore)
    sheet.write(rows, 7, zlcount)
    sheet.write(rows, 8, zl)
    sheet.write(rows, 9, corp)

    excel.save("C:/Users/SNT/Desktop/qcc.xls")
    print(corp +'信息保存完毕!')
    sltime = 30*random.random()
    print('休息' + str(sltime) +'s......\n')
    time.sleep(sltime)


print(str(i+1) +'家公司信息保存完毕')

#关闭浏览器
driver.quit()



运行结果:
image.png
image.png

免费评分

参与人数 10吾爱币 +11 热心值 +10 收起 理由
8531 + 1 + 1 用心讨论,共获提升!
siyaoliu + 1 + 1 我很赞同!
金lq + 1 + 1 我很赞同!
glenblue + 1 + 1 用心讨论,共获提升!
在线小学生 + 1 + 1 我很赞同!
小木剑 + 1 + 1 我很赞同!
晨曦牧云 + 1 + 1 谢谢@Thanks!
tinyblade + 1 + 1 支持下,虽然现在用不到
surepj + 1 + 1 用心讨论,共获提升!
袁昌旺 + 2 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

心中有诡 发表于 2020-8-13 20:02
数据来源:

全国企业信用信息公示系统
http://www.gsxt.gov.cn/index.htm

中国裁判文书网
http://wenshu.court.gov.cn/

中国执行信息公开网
http://zxgk.court.gov.cn/

国家知识产权局
http://www.cnipa.gov.cn/

商标局
http://sbj.cnipa.gov.cn/

版权局
http://www.ncac.gov.cn/

工信部域名备案信息查询
http://beian.miit.gov.cn/publish/query/indexFirst.action

其它地方省份分支入口略
袁昌旺 发表于 2020-8-13 18:38
精于勤 发表于 2020-8-13 19:00
凌翰梓 发表于 2020-8-13 19:29
准备爬淘宝主图,现在也很伤脑筋
lsy832 发表于 2020-8-13 19:36
爬虫太难了
qu270051387 发表于 2020-8-13 20:19
大佬 请问这个可以写成一个程序软件吗?  不知道能不能爬到 专利信息-资质证书的信息  比如资质证书中的药品经营企业编号
小木剑 发表于 2020-8-13 20:42
python爬虫好想学会啊
摸鱼大佬 发表于 2020-8-13 20:46
收藏待学习
Aska 发表于 2020-8-13 20:52
大佬还是厉害的
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-29 06:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表