【5-1】获取目标企业的法人等信息

一、功能简介

目标: 获取目标企业的法人等信息。

输出:保存到文件/打印到控制台

技术路线: urllib--re

语言:python3

二、资源

爬取网站:www.tianyancha.com

三、原理

步骤1 python获取“https://www.tianyancha.com/search?key=公司名”的网页源码;

步骤2 将网页源码中,通过关键字“CompanySearch.Company定位到公司介绍的链接地址,注意要做公司名的完整匹配

步骤3 python获取新链接页面的源码,通过关键字找到企业信息。

四、具体步骤

1、登陆www.tianyancha.com,在搜索栏输入企业的完整名称,如“北京知乎科技有限责任公司”,观察搜索结果的地址有什么规则。发现规律,地址栏后面是要搜索的公司名称。

2、打开这个公司的链接,同样观察地址有什么规律。发现规律,通过一串数字来对应该公司。同时在不登陆天眼查的情况下,可以看到了网址。

3、分析网址的这一串数字从哪里来的。复制这个数字,在上一个网页的源码中去找。发现源码中已经包含了完整地址。

4、分析发现 关键字“CompanySearch.Company就能匹配到唯一的网址。(数字网址)

5、分析该网页源码,发现关键字法定代表人 “company-link”可以定位到我们想要的公司网址

五、项目核心代码

#Code1:获得需要爬虫的网站网址,构建浏览器伪装池,将爬虫伪装成浏览器,避免被网站屏蔽

chinaCompany="重庆长安汽车股份有限公司"
testUrl="https://www.tianyancha.com/search?key="+chinaCompany
print("visit web:"+testUrl)

# 在请求网页爬取的时候,输出的text信息中会出现抱歉,无法访问等字眼,这就是禁止爬取,需要通过反爬机制去解决这个问题。
# headers是解决requests请求反爬的方法之一,相当于我们进去这个网页的服务器本身,假装自己本身在爬取数据。
# 对反爬虫网页,可以设置一些headers信息,模拟成浏览器取访问网站 。
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)
#Code2:爬取第一个页面,即搜索企业名字,获得访问企业信息的跳转链接

def getStockList(lst, stockURL):  
    searchCompanyRet=urllib.request.urlopen(testUrl).read().decode("utf-8", "ignore")	
    matchPat='tyc-event-ch="CompanySearch.Company".*?href="(.*?)" target='
    nextUrls =  re.compile(matchPat, re.S).findall(searchCompanyRet)
    nextUrl = nextUrls[0]
    print("企业详细信息可以查看下一个链接:" + str(nextUrl))


    #Code:爬取第二个页面,即查看企业详细信息
    companyDetail=urllib.request.urlopen(nextUrl).read().decode("utf-8", "ignore")
    matchPat = '<td>法定代表人</td><td><a class="link-click".*?>(.*?)</a>.*?rel'
    faren = re.compile(matchPat, re.S).findall(companyDetail)
    print(“企业<” + chinaCompany + “>的法人:” + str(faren[0]))
    
    matchPat = 'class="company-link".*?href="(.*?)".*?rel'
    companyUrl = re.compile(matchPat, re.S).findall(companyDetail)
    print(“企业<” + chinaCompany + “>的官网地址:” + str(companyUrl[0]))

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值