Scrapy爬取天眼查首页热门公司信息,可视化分析这些热门公司

1. 分析目标网页

url = 'http://www.tianyancha.com/'

在这里插入图片描述
1.可以看到主页有显示的热门公司,直观的看有22个,查看源码,查看其页面的跳转连接:
在这里插入图片描述
2.可以很轻松的找到整体的热门公司的跳转链接都封装在class为keys下的a标签中
3.随机点击进入某一个热门公司的页面
在这里插入图片描述
在这里插入图片描述
4.可以看到,页面的最上端显示的是公司的名称,电话,邮箱,地址等基本信息,下端具体显示了公司的注册资本,法人等详细的信息,我想将这些信息全部提取,并存入数据库当中,以便可以更好的进行数据的提取和可视化,需要查看这些信息的源码的位置,F12:
在这里插入图片描述
在这里插入图片描述
对于公司的基本信息,存放的方式大都是按指定给的标签的形式存放的,但对于公司的详细信息,可以很明显的看出是存放在表格当中的,这也方便了爬虫时候对于该部分信息的提取。

2. 爬取思路

  1. 是对一个网站中的不同链接下的内容进行爬取,故首选Scrapy框架,这里我使用CrawlSpider,根据rule来跟进不同的链接,发起请求
  2. 首先通过rule获取主页热门公司的跳转链接
  3. 设置相应的通用的item即可对公司的信息进行爬取
  4. 设置数据库,将数据存入数据当中
  5. 分析网页的反爬,设置相应的信息,调整爬取速度(下文会提到)

3. 爬取信息

3.1 创建scrapy工程

scrapy startproject tianyancha

3.2 创建CrawlSpider

使用pycharm打开刚才创建的Scrapy项目,在Terminal中输入创建的命令:

scrapy genspider -t crawl tianyan www.tianyancha.com

3.3 数据模型item.py

class TianyanchaItem(scrapy.Item):
    image_url = Field()
    company_name = Field()
    html_url = Field()
    company_phone = Field()
    company_mailbox = Field()
    company_url = Field()
    company_address = Field()
    company_introdution = Field()
    company_boss_name = Field()
    company_info = Field()

3.4 编写spider

class TianyanSpider(CrawlSpider):
    name = 'tianyan'
    allowed_domains = ['www.tianyancha.com']
    start_urls = ['http://www.tianyancha.com/']

    # 设置爬取的速度,最简单的反爬
    # 这里的爬取速度指的完成一个item的时间,即从下载,爬取,显示保存,整体的时间为3秒
    custom_settings = {
   
   
        'DOWNLOAD_DELAY':3
    }
	
	# 直接使用xpath定位热门公司页面的跳转链接
    rules = 
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值