15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 爬虫实战—“网络信息安全”公司top100

爬虫实战—“网络信息安全”公司top100

时间:2023-06-21 05:00:01 | 来源:网站运营

时间:2023-06-21 05:00:01 来源:网站运营

爬虫实战—“网络信息安全”公司top100:

项目描述

为了解网络信息安全行业公司情况,从天眼查爬取前100个相关公司,并对其进行简单分析。

主要爬取内容包括:公司名称、天眼查评分、注册资本、成立时间、法人、经营范围等

项目流程

分为以下四个步骤:准备工作、页面下载、页面解析、数据保存;数据分析

  1. 获取将要爬取页面的URL,即网址。如需进行相关联的多页面爬取,需进行简单分析,找出各个页面之间的联系。
  2. 获取headers信息,如果页面内容需登录才显示,那么还需要获取Cookie信息。
url_begin = "https://www.tianyancha.com/search/p"url_end = "?key=%E7%BD%91%E7%BB%9C%E4%BF%A1%E6%81%AF%E5%AE%89%E5%85%A8"final_result = []for i in range(1, 6): # 分析前5个页面 url = url_begin + str(i) + url_end # 拼接得到页面URL


headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36" }此处需要使用到requsets模块的get方法,来下载页面,供我们进一步的分析和解析数据。

Requests 简化了 urllib 的诸多冗杂且无意义的操作,并提供了更强大的功能。
Requests 是 Python 所有模块中最受欢迎的一个,全世界最优秀的程序员都在使用它!
import requestsres= requests.get(url,headers=headers)print(res.status_code) #判断是否正确得到页面,返回200说明成功将下载得到的页面进行分析,找到我们需要的信息。

此处需要用到beautifulsoup模块,它能帮助我们将requests下载的页面内容转为文档树的形式,方便我们分析的提取数据。

BeautifulSoup 模块,可以化腐朽为神奇,将一个复杂的网页结构转化为书籍目录的形式供你浏览。
本项目主要对公司名称、天眼查评分、注册资本、成立时间、法人、经营范围几项信息进行提取。

from bs4 import BeautifulSoupsoup = BeautifulSoup(res.text,'html.parser')result = [] # 一个页面的信息#公司名、评分company = []score = []targets= soup.find_all('div',class_="search-item sv-search-company")for each in targets: temp = each.find('a') company.append(temp.text)for each in targets: try: temp = each.find('span',class_ ="score-num") score.append(int(temp.text)) except: score.append("暂无")#法人boss = []targets = soup.find_all('div', class_="title -wider text-ellipsis")for each in targets: try: boss.append(each.a.text) except: boss.append("未公开")#注册资本reg_money = []targets = soup.find_all('div',class_="title -narrow text-ellipsis")for each in targets: try: reg_money.append(int(each.span.text.split("万")[0])) except: reg_money.append("未公开")#成立日期date = []targets = soup.find_all('div',class_="title text-ellipsis")for each in targets: try: date.append(each.span.text) except: date.append("未公开")# 经营范围&历史名称service = []targets = soup.find_all('div', class_="search-item sv-search-company")for each in targets: try: temp = each.find('div', class_="match row text-ellipsis" ) service.append(temp.span.text) except: service.append("未公开")#汇总信息length = len(company)for i in range(0,length): result.append([company[i], score[i], reg_money[i], date[i], boss[i], service[i]])return result将提取到的信息保存到Excel文件中,需要用到openpyxl工具包。

import openpyxlwb = openpyxl.Workbook()wb.guess_type = Truews = wb.activews.append(["公司名称", "天眼评分", "注册资本(万元)", "成立时间", "法人", "其他信息"])for item in data: ws.append(item)wb.save("网络信息安全前100.xlsx")保存到Excel的内容如下所示:

数据分析

  1. 可以看出,天眼查是按照天眼评分排序,对公司进行展示
  2. 以成立时间维度分析:
3.以注册资本维度分析:

4.以经营范围分析,主要有:


完整代码:




随手点赞,手留余香~

关键词:安全,实战,网络,信息,爬虫

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭