跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • [技术求助] Linkedin 数据爬取 除了 selenium 有什么好的方法吗? 有关 csrf 的疑惑
未分類
25 11 月 2020

[技术求助] Linkedin 数据爬取 除了 selenium 有什么好的方法吗? 有关 csrf 的疑惑

[技术求助] Linkedin 数据爬取 除了 selenium 有什么好的方法吗? 有关 csrf 的疑惑

資深大佬 : fowill 2

小弟手上的某个学术项目需要 Linkedin 的数据,抓取特定行业的从业人员信息。我是分两步来做的,第一步先弄到想要爬的人主页的 url,第二步再去挨个挨个抓这些 url 上的信息。

目前第一步已经搞定,可能有几十万条的 url 要抓,但是第二步这里我有点犯难——

我的理解是这样的:领英的个人数据需要登录后才能展示,为了避免我们的账号被封禁的太快(账号是要成本的),我打算建一个账号 cookies 池,用一个进程维护这些 cookies,其他进程每次爬取时每次随机挑选一个 cookies 去模拟登陆,这样可以延长单个账号的使用时间。

但是实验中发现,领英做了反 csrf 攻击的措施,仅用 cookies 是没办法实现模拟登陆的。为此我学了下 csrf 相关知识,发现它的关键参数 loginCsrfParam 、csrf_token 都在网页源码中 hidden 了,也会存储到 cookies 里,可以很容易地拿到。

于是我用 requests 来尝试做模拟登陆,开了一个 Session,把这些关键参数作为表单 post 给领英的登录接口 https://www.linkedin.com/checkpoint/lg/login-submit 后,尝试去 get 我想要抓取的网页,但是还是无法正常显示,get 到的 html 内容为领英网站的加载 gif 。

我开始觉得是我维护的 cookies 和我 post 的 form-data 中的 csrf 相关参数不匹配,导致服务器端识别出我在尝试 csrf 攻击,但是检查之后发现都是匹配的。这就让我感到奇怪了。

我目前想用 requests 来做,不希望用 selenium 做自动化登陆,因为部署和账号池维护做起来比较折腾。

有了解爬虫的前辈能指点下以下问题嘛:

1.领英的反 csrf 是怎么做的,我的姿势对吗?
2.领英是否有其他反爬手段?懂行的朋友能不能指点一二?
3.Google 了一下,网上的领英相关爬虫都陈旧无用了,该上哪里咨询爬虫大佬? stackoverflow 上也没啥有用的建议。

感激不尽!

大佬有話說 (8)

  • 資深大佬 : knightdf

    你这么抓需要 JS 的

  • 資深大佬 : wenfan

    我已经研究爬 LinkedIn 好几年了……他们家是反爬虫最厉害的一家了
    目前为止,我只找到了这一家网站可以有效地爬,但是效率也不是很高。
    https://phantombuster.com/apis

  • 主 資深大佬 : fowill

    @knightdf 请问此话怎讲,哪里要用到 JS 呢?

  • 資深大佬 : xnth97

    完了…你这帖子被我看到了…

  • 主 資深大佬 : fowill

    @xnth97 ?兄弟是 LinkedIn 的?

  • 主 資深大佬 : fowill

    @xnth97 wok 还真是,但我貌似是被贵司的反爬给挡住了,应该没啥关系吧 hhh

  • 資深大佬 : xnth97

    @fowill lol 没事我不做反爬哈哈哈

  • 資深大佬 : knightdf

    @fowill 数据加载是 JS

    @wenfan 还不太厉害

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具