采集天眼查数据(根据已有的公司名称采集)

本文介绍了作者如何针对已有公司名称,通过编写Winform程序规避天眼查反扒策略进行数据采集。作者遇到验证码问题,通过设置webBrowser组件模拟点击并设置间隔时间来降低被检测风险。程序能根据公司名称生成URL,解析HTML获取详细信息,并存储到数据库。
摘要由CSDN通过智能技术生成

 

 

 

因为部分原因,需要用到天眼查的数据,虽然开了天眼查的会员账号,但是导出Excel数据字段内容太少,部分例如工商注册号,组织机构代码都没用,感觉有些不完整,所以利用数据库里已有的公司名称来进行采集,将信息页的内容采集完整

吐槽下,天眼查的反扒确实蛮多的,最早用软件采集,但是没有配置采集频率,结果两分钟左右就爬了100个页面就会跳出验证码界面,验证码的图片有点也很讨厌,看到眼睛很花

因为知道明确的公司名称,采集思路就快很多,做了个winform 窗口的,两个按钮,一个开始一个结束,两个文本框,一个用来显示当前的采集url,另一个是显示采集成功的结果累计页

采集的过程就是连接完数据库后,根据查询语句从数据库中捞出相应数据形成List,加一个webBrowser做可视化界面,因为验证码绕不开,需要点击.

总体的思路是:根据公司名称拼凑成url,然后解析html,找到详细页的url,再解析第二次的详细页的html,抓取相应数据,保存到数据库

因为不太懂得多线程的原理,所以就在主线程上设置了休眠1秒,勉强1小时跳一次验证码,采集的速度也蛮很多,相当于手工模拟点击,因为天眼查一定要登录,出现验证码的页面会出现手机号和ip地址,感觉对着两个应该是有限制的.

贴上部分代码作为参考

初始化一些需要的字段

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using HtmlAgilityPack;
using Ivony.Html;
using Ivony.Html.Parser;
using System.Threading;


        /// <summary>
        /// 替换采集的公司曾用名
        /// </summary>
        public string company_used_name = string.Empty;
        /// <summary>
        /// 替换采集的信息更新时间
        /// </summary>
        public string information_update_time = string.Empty;
        /// <summary>
        /// 替换采集的公司组织机构代码
        /// </summary>
        public string organizing_code = string.Empty;
        /// <summary>
        /// 替换采集的公司类型
        /// </summary>
        public string company_type = string.Empty;
        /// <summary>
        /// 替换采集的公司所属行业
        /// </summary>
        public string industry = string.Empty;
        /// <summary>
        /// 替换采集的公司营业期限
        /// </summary>
        public string operating_period = string.Empty;
        /// <summary>
        /// 替换采集的纳税人资质
        /// </summary>
        public string taxpayer_qualification = string.Empty;
        /// <summary>
        /// 替换采集的人员规模
        /// </summary>
        public string staff_size = string.Empty;
        /// <summary>
        /// 替换采集的实缴资本
        /// </summary>
        public string contribute_capital = string.Empty;
        /// <summary>
        /// 替换采集的登记机关
        /// </summary>
        public string registration_authority = string.Empty;
        /// <summary>
        /// 替换采集的参保人数
        /// </summary>
        public string guarabtee_people = string.Empty;
        /// <summary>
        /// 替换采集的公司英文名称
        /// </summary>
        public string english_name = string.Empty;
        /// <summary>
        /// 用于替换采集到的公司id
        /// </summary>
        public string company_id = string.Empty;
        /// <summary>
        /// 用于替换采集到的公司状态
        /// </summary>
        public string company_state = string.Empty;
        /// <summary>
        /// 判断按钮状态
        /// </summary>
        private bool status = false;
        /// <summary>
        /// 用于替换数据采集页的url
        /// </summary>
        public string urls = string.Empty;

        public int ID;
        public int CID = 0;
        /// <summary>
        /// 是否第一次加载url
        /// </summary>
        public bool isfrist = true;
        /// <summary>
        /// 数据库上下文
        /// </summary>
        DB_UsersEntities db = new DB_UsersEntities();
        //数据库里的对应的表
        public List<_Enterprise_TianYanCha> list;

 初始界面,第一次登陆的时候,记录账号信息的


                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值