【实验目的】
分析企业法人还有哪些关联公司,关联公司注册了哪些域名,这些域名是在哪个云平台注册的。

【思路】
1、对比测试,在不登陆的情况下,“企查查”比“天眼查”能查看到更多的信息。查询企业法人的关联公司,选择用网站“企查查”。本文主要分析这个环节。
2、通过企业名,在“企查查”上获取法人的关联公司。然后用所有的关联公司在“站长之家”上查询他们的域名和所使用的云平台。此环节参考:https://blog.csdn.net/qq_39295735/article/details/83932618

【分析】
1、以“重庆腾讯信息技术有限公司”为例,在“企查查”上搜索该企业,得出网址规则,key后面是企业的名称。第一条记录是我们的查询目标。

2、打开企业详情的页面,分析网址规则,网址最后的一串字符应该是标识该公司的,这一串数字应该可以从上一页的源码中获得。

3、点击法人下面的关联公司的链接,网址后面同样是一串表示法人信息的字符,应该可以从上一个页面的源码中获得。

4、从法人的介绍信息中,把所有的xx公司的名字给提取出来。
5、首先分析第一个网页的源码,找到表示企业的网址字符串“firm_78668b40a82cd573c904c8891786102d.html”。
正则表达式为pat = 'addSearchIndex.*?href="(.*?)" target="_blank" class="ma_h1"'

6、接着分析第二个网页的源码,找打表示法人的网址字符串“pl_p1f05aa67cc68fa068f97cbd330e225b.html”
正则表达式为pat = 'btn-touzi.*?href="(.*?)".*?他关联'

7、分析法人详情中的页面的源码,提取xx公司。发现规律,公司名字前的表示符都有firm_,包含该标识符的数量刚好等于法人详情页面中关联的公司数量。说明这可以作为查找的关键字。
正则表达式为pat=’firm_.*?>(.*?)</a>’

【爬虫结果】

【爬虫代码】

#!/usr/bin/python3
#-*- coding: utf-8 -*-import urllib.request
import re#人可以识别的路径,编码类型为utf-8,即汉语
chinaCompany="重庆腾讯信息技术有限公司"
testUrl="https://www.qichacha.com/search?key=" + chinaCompany
print("visit web:"+testUrl)#转化为机器可以识别带中文的网址,编码类型为unicode。只转换汉字部分,不能全部网址进行转换
company=urllib.parse.quote(chinaCompany)
testUrl="https://www.qichacha.com/search?key=" + company
print("visit web:"+testUrl)#浏览器伪装池,将爬虫伪装成浏览器,避免被网站屏蔽
headers=("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0")
opener = urllib.request.build_opener()
opener.addheaders = [headers]
urllib.request.install_opener(opener)#爬取第一个页面,即搜索企业名字,获得访问企业信息的跳转链接
searchRet=urllib.request.urlopen(testUrl).read().decode("utf-8", "ignore")
matchPat='addSearchIndex.*?href="(.*?)" target="_blank" class="ma_h1"'
nextUrls =  re.compile(matchPat, re.S).findall(searchRet)nextUrl =  "https://www.qichacha.com" + str(nextUrls[0])
print("企业详细信息可以查看下一个链接:" + nextUrl)#爬取第二个页面,即查看企业详细信息,法人及关联公司
searchRet=urllib.request.urlopen(nextUrl).read().decode("utf-8", "ignore")
matchPat = 'btn-touzi.*?href="(.*?)".*?他关联'
nextUrls =  re.compile(matchPat, re.S).findall(searchRet)
bossNum = len(nextUrls)#循环找出每个boss的关联公司有哪些
for idx in range(bossNum):#爬取第三个页面,查看股东有哪些关联公司nextUrl = "https://www.qichacha.com" +  str(nextUrls[idx])searchRet=urllib.request.urlopen(nextUrl).read().decode("utf-8", "ignore")matchPat = 'class="cvlu">(.*?)的合作伙伴'bossName = re.compile(matchPat, re.S).findall(searchRet)[0]print("===========")print("股东<" + str(bossName) + ">的详细信息可查看:"+ nextUrl + "。    他的关联公司如下:") matchPat = 'firm_.*?>(.*?)</a>'relatedCompany = re.compile(matchPat, re.S).findall(searchRet)print(relatedCompany)

【Python爬虫实战】查找企业股东有哪些关联公司相关推荐

  1. 视频教程-Python爬虫实战视频教程-Python

    Python爬虫实战视频教程 东北大学计算机专业硕士研究生,欧瑞科技创始人&CEO,曾任国内著名软件公司项目经理,畅销书作者,企业IT内训讲师,CSDN学院专家讲师,制作视频课程超过1000小 ...

  2. python爬虫图片实例-【图文详解】python爬虫实战——5分钟做个图片自动下载器...

    我想要(下)的,我现在就要 python爬虫实战--图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识(没看的赶紧去看)大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk ...

  3. python爬虫项目-32个Python爬虫实战项目,满足你的项目慌

    原标题:32个Python爬虫实战项目,满足你的项目慌 爬虫项目名称及简介 一些项目名称涉及企业名词,小编用拼写代替 1.[WechatSogou]- weixin公众号爬虫.基于weixin公众号爬 ...

  4. Python爬虫实战爬取租房网站2w+数据-链家上海区域信息(超详细)

    Python爬虫实战爬取租房网站-链家上海区域信息(过程超详细) 内容可能有点啰嗦 大佬们请见谅 后面会贴代码 带火们有需求的话就用吧 正好这几天做的实验报告就直接拿过来了,我想后面应该会有人用的到吧 ...

  5. python爬虫实战---爬取大众点评评论

    python爬虫实战-爬取大众点评评论(加密字体) 1.首先打开一个店铺找到评论 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多 ...

  6. 【图文详解】python爬虫实战——5分钟做个图片自动下载器

    python爬虫实战--图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识,大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk is cheap show me the c ...

  7. 看不懂别做爬虫-----python爬虫实战---大众点评评论

    python爬虫实战-爬取大众点评评论(加密字体) 1.首先打开一个店铺找到评论 2.分析网页 查看到下面有些字体经过加密处理 刷新页面会发现 每一次加密的字体是不一样的 3.发送请求获取数据 查看网 ...

  8. python爬虫实战-爬取视频网站下载视频至本地(selenium)

    #python爬虫实战-爬取视频网站下载视频至本地(selenium) import requests from lxml import etree import json from selenium ...

  9. python爬虫实战-爬取微信公众号所有历史文章 - (00) 概述

    http://efonfighting.imwork.net 欢迎关注微信公众号"一番码客"获取免费下载服务与源码,并及时接收最新文章推送. 最近几年随着人工智能和大数据的兴起,p ...

最新文章

  1. Python-SQLAlchemy:第4节:级联
  2. Robotium todolist.test.testcases.logout
  3. 非常有趣的Console
  4. c++编写手机小游戏代码_玩过自己开发的贪吃蛇吗?点这里,教你用Python写一个贪吃蛇小游戏!(附源代码)...
  5. xp 与 windows 7 共享收藏夹
  6. 手机自动化测试:Appium源码分析之跟踪代码分析四 5
  7. ionic build android release,ionic build android -release运行报错
  8. java怎么返回上一部,如何返回数据给上一个活动
  9. 【Uva 1633】Dyslexic Gollum
  10. 基于javaweb+springboot的学生学科竞赛管理管理系统设计和实现(java+springboot+ssm+maven)
  11. 冒险岛2计算机内存不足建议使用,冒险岛2游戏设置详解 低配电脑如何流畅运行冒险岛2...
  12. Unity自定义Script模板
  13. canvas 擦除动画_HTML5 canvas橡皮擦擦拭效果
  14. 系统性能统计(CPU占用率,内存占用率,系统平均负载)
  15. Flutter 日期转换
  16. 基于c语言防盗系统,基于STC89C51的无线智能防盗报警系统.doc
  17. CRI HITFM 88.7的网络电台
  18. 分析Threadlocal内部实现原理,并解决Threadlocal的ThreadLocalMap的hash冲突与内存泄露
  19. 【Shell】mksh运行分析
  20. Already included file name .......

热门文章

  1. 如何找回bilibili(b站)收藏夹里失效的视频?
  2. Directory traversal in Spring framework漏洞修复
  3. 河狸家半年值10亿是因为重度垂直
  4. facade 门面模式和mediator 调停者
  5. 王道数据结构线性表:有读者认为直接去掉p结点会造成断链?
  6. 前端面试准备:总结了一些面试很可能会问到的东西
  7. idea_设置项目编码
  8. python pitfall (陷阱)--不同平台os模块文件名排序
  9. PROBOT_G603双臂GAZEBO+MoveIt!仿真中配置手眼相机和夹爪
  10. 使用函数调用 输出三个数中的最大值,最小值