ID:148362

liang

爬虫工程师

  • 公司信息:
  • 北京联创世界科技有限公司
  • 工作经验:
  • 2年
  • 兼职日薪:
  • 800元/8小时
  • 兼职时间:
  • 可工作日驻场(离职原因)
  • 所在区域:
  • 北京
  • 海淀

技术能力

熟悉web端app端数据采集,熟练应对各种反爬措施,基础扎实,代码整洁。
Python:scrapy、requests、asyncio、aiohttp、pandas、matplotlib、pyechart、tornado、flask
爬虫:selenium、验证码识别、正则表达式、抓包分析、逆向解密、反爬突破、爬虫伪装
数据库: mongodb、redis、mysql
全文检索:elasticsearch
其他:Java、RabbitMQ、了解自然语言处理、机器学习常见模型和算法

项目经验

法律文书采集
爬虫工程师 2017.11—至今
描述:该项目主要采集互联网上公开的判决书、法律法规、司法行业数据等内容,采集的网站主要包括中国裁判文书网、法信网、点睛网、崇法网、中国法网等一批司法类网站。
主要技术:Scrapy+Redis+Mongodb+Elasticsearch+Sentry+aiohttp.
主要难点:
1.目标网站反爬措施多变
2.目标网站高延迟低稳定性
3. 检索结果数量被限制
4. 一些关键数据进行了数据加密。
我在项目中主要负责以下方面:
1.制定爬虫的采集策略。针对网站检索结果被限制的情况,对不同的网站采取不同的方法,采集到尽可能多的数据。采取的方法包括利用网站地图信息、观察内容页ID生成模式、自动生成检索条件等。
2. 突破网站的反爬虫措施。采取了验证码识别、模拟注册登陆、自动休眠、请求伪装等措施。
3. 破解PC端数据加密。主要采用了抓包分析、JS分析等方法,找出加密方法,若加密方式简单,便直接进行解密;若加密方式复杂,就将关键的JS代码摘出,在Python中使用V8引擎执行摘出的JS代码。
4. 破解APP端数据加密。针对app端的数据加密情况,主要是对app进行了反编译,定位到app内数据传输模块的代码,然后找到加密方式和密钥,在Python中使用同样的加密方式和密钥进行解密。
5. 维护爬虫稳定运行。包括使用Sentry对爬虫出现的异常进行收集,编写shell脚本执行定时任务等。
6. 使用ElasticSearch对数据进行索引。为了提高分词的准确度,开发了新的ElasticSearch分词器。

业绩:这个项目中,我使用python中的asyncio和aiohttp模块开发了轻量级的爬虫框架。该项目已经采集了几千万份的数据,为了采集到尽可能多的数据,我设计了类似于二分查找的算法来自动生成检索条件;为了突破数据加密的限制,我对PC端和APP端进行了破解;为了提高分词的准确度,我搜集了近两年流行的深度学习分词模型,整合成了新的elsaticsearch分词器。


招标信息采集
爬虫工程师 2018.05—2018.07
描述:该项目主要是采集网上的一些招投标信息,从中提取招标线索存入数据库。目标网站包括中国招标信息网,各类政府采购网站等。
主要技术:Scrapy+Redis+Mongodb+正则表达式
主要难点:使用正则表达式在不规范的文本中提取联系人、联系地址、联系电话等信息。
我主要负责以下几个方面:
1.开发爬虫,采用合适的爬取策略,绕开反爬限制。
2. 编写定时任务,采用增量更新的方式,保证数据及时更新
3. 编写正则表达式,进行数据清洗,从文本中提取关键的信息

业绩:在这个项目中,由于各类招投标信息并没有固定的格式,所以我编写了多组正则表达式,并设计了一套正则表达式的拆分组合策略,用尽量简洁的方式来保证数据匹配的准确性。


短视频采集
爬虫工程师 2017.07—2017.10
描述:该项目主要是采集各大视频网站的短视频,并将视频内容存储到阿里云OSS。采集的目标包括优酷、爱奇艺、土豆、搜狐视频、腾讯视频、梨视频、爆米花、咪咕、凤凰、今日头条等视频网站。
主要技术:Scrapy+Redis+Mongodb
主要难点:视频地址的解析、视频的转码等。
我在项目中主要负责以下几个方面:
1.开发爬虫,研究不同网站的反爬策略,制定爬虫相应的采集策略
2. 开发视频解析模块,使用网络抓包的方式,确定获取网站视频地址的规则
3. 开发异步网络IO模块,提高视频的下载与上传效率,将爬虫采集到的视频转存到阿里云OSS
4. 开发内容去重模块,使用MD5算法为视频生成唯一标识,避免重复采集,提高爬虫采集效率

业绩:在项目开发过程中,我将爬虫中经常发生变化的部分,比如视频地址解析模块和上传下载模块,拆分为单独的项目,作为独立的服务进行部署发布,提高了整个系统的稳定性和可扩展性。为了方便监控爬虫采集的进度,我使用Django+Echart开发了爬虫的web监控端,并已在githup开源。

信用行为

  • 接单
    0
  • 评价
    0
  • 收藏
    1
微信扫码,建群沟通

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系聘用方端客服
联系聘用方端客服