首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
V2EX  ›  分享创造

关于复杂网站的前端并行爬取方式

  •  
  •   webee · 45 天前 · 1102 次点击
    这是一个创建于 45 天前的主题,其中的信息可能已经有所发展或是发生改变。
    朋友让我帮忙爬取一些数据,由于目标网站( http://epub.sipo.gov.cn/gjcx.jsp) 采用的防爬虫策略,简单的模拟请求不行,使用 headless browser 简单试了一下,也不行; 由于我并不怎么做爬虫这块,想到在前端使用 js 爬取再提交到后端应该是最简单的,于是在浏览器中简单实验之后发现是可行的。

    于是写了一个后端服务用于分配任务和收集结果
    https://github.com/webee/PatentFetcher
    后端提供两个接口给前端爬虫使用:分配任务,提交结果

    前端提供一个 user script 执行具体爬取
    打开多个标签(注:浏览器有单个 ip 连接数限制),或多个浏览器, 甚至开不同的机器就可以实现分布式并行前端爬取了。

    搞定这个事情之后,就有个想法:
    前端爬取其实跟使用 headless browser ( Selenium,PhantomJS 等)原理一样的,都是模拟真实的前端环境,但这里的关键是分散地使用真实的客户端, 利用人们空闲的计算和流量资源,而不是使用自己的服务器。
    这可以解决许多复杂爬取面临地很多痛点:ip 限制,人机验证,足够的服务器,爬取速率等

    是否可以使这个方法通用化,类似众包的方式,搞一个任务平台,设计不同的执行前端( pc 客户端,浏览器 user script, app sdk, 专门的 app ),通过给用户付费,或者给开发者任务积分实现互助爬取,以解决一些复杂网站的爬取问题?

    我搜索了一下关于前端爬虫的项目,有些是纯独立客户端的前端爬取,有个类似想法的 DSpider,没怎么开发了。

    一个人的想法总是有局限的,
    欢迎大家讨论一下,这个事儿是否有意义,是否可行?
    9 回复  |  直到 2019-07-11 17:30:48 +08:00
        1
    ho121   45 天前 via Android
    买代理不行?
        2
    webee   45 天前
    @ho121 这里主要不是代理的问题,如果能简单的在后端爬取,代理当然可行。
    这里的问题是对于复杂的不那么好爬取的网站使用前端爬取,解决各种后端爬取的痛点,同时实现资源共享。
        3
    qilishasha   45 天前
    在某宝有人出售肉鸡 API,便宜得很,不知道是不是有法律风险
        4
    silencefent   45 天前
    流量宝这个软件听说过吗,理论上和你这个差不多一个意思
        5
    Fcsle   45 天前
    @qilishasha 关键词是啥
        6
    qilishasha   45 天前
    @Fcsle 所有的卖代理的都有
        7
    webee   45 天前
    @silencefent 流量宝还是使用自己的的服务器来做刷流量的事情,其实我想的是真实用户共享合作来分享算力和流量,和众包是一个意思。
        8
    webee   45 天前
    @silencefent 不好意思,仔细了解了一下,流量宝,确实也是共享的思想。。
        9
    yangweijie   37 天前
    专利这块爬取是很麻烦的,包括天眼查 和 zf 统一信用代码 甚至用上了 极验验证码。我都奔溃了,然后搞了个和你们思路一样的人肉采集,本来想开发 像京价宝 这样的插件的,时间未允许,后来就直接书签 写动态 js 采集 并请求后端更新数据,但是 必须协议一致。https 必须也 https。然后老板嫌麻烦 买了企查查的接口。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2082 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 07:53 · PVG 15:53 · LAX 00:53 · JFK 03:53
    ♥ Do have faith in what you're doing.