在 R 语言中使用代理 IP 进行多线程网络数据爬取

在数据爬取中经常我们会遇到各种各样的反爬措施,针对不同的反爬措施我们可以采用不同的方法进行“反反爬”,例如:

  • header 头部信息:有些网站的链接会判断用户的访问来源,如果不能识别就会给用户返回无用的东西,针对这种情况,我们在请求的时候可以添加头部信息;
  • Ajax 动态请求加载:有些网站的信息在翻页、跳转的时候网址会保持不变,或者无法在网页源代码里面找到页面上看到的信息,这种网页通常是动态网页,需要进行网页分析来找到真实的数据链接;
  • 限制 IP 访问次数:有些网站服务器会根据某个 IP 在特定时间内的访问频率来判断是否为爬虫,然后把你把你拉进“黑名单”,这种限制通常会持续一段时间才会解除,针对这种反爬措施,我们可以采用爬慢点或者使用代理 IP 的方法进行爬取。
  • 字体加密:这个我们之前的课程其实讲解过。使用 R 语言爬取上市公司股权质押数据:https://rstata.duanshu.com/#/course/84a16f68bb9f40b295e3b58b79c0bede

网上虽然有挺多提供免费代理 IP 的网站,但是这些代理 IP 通常不稳定且容易断线,因此在使用代理 IP 的时候建议大家还是选择付费的,每天大概也就一二十块钱。

使用代理 IP 爬取的另外一个问题就是会很慢,这是因为使用代理 IP 爬取的时候,我们的电脑需要先访问代理 IP 服务器,然后再通过代理 IP 服务器获取数据。因此使用代理 IP 爬取的时候通常还要采用多线程爬取。

今天的课程中我们将讲解如何在 R 语言中使用代理 IP 进行多线程爬取。主要包含如下内容:

  1. 如何对动态网页进行分析;
  2. 如何在 R 语言中进行 GET 和 POST 请求;
  3. 如何获取代理 IP;
  4. 如何在请求中使用代理 IP;
  5. 如何处理请求返回的信息;
  6. html 文件的解析与数据提取。

点击这里跳转到 RStata 短书平台获取附件:在 R 语言中使用代理 IP 进行多线程网络数据爬取

评论