gpt4 book ai didi

爬虫包: Rcrawler not crawling some websites

转载 作者:行者123 更新时间:2023-12-02 01:05:30 24 4
gpt4 key购买 nike

我正在使用 Rcrawler 来抓取 url 向量。对于大多数人来说,它运行良好,但时不时地他们中的一个人不会被抓取。起初我只是在 https://网站上注意到这一点,该网站的地址为 here 。但我使用的是 0.1.7 版本,它应该具有 https://功能。

我还发现了this other user谁有同样的问题,但也有 http://链接。我检查了我的实例,他的网站也没有为我正确抓取。

以下是我尝试抓取这些网站之一时得到的结果:

>library(Rcrawler)
>Rcrawler("https://manager.submittable.com/beta/discover/?page=1&sort=")
>In process : 1..
Progress: 100.00 % : 1 parssed from 1 | Collected pages: 1 |
Level: 1
+ Check INDEX dataframe variable to see crawling details
+ Collected web pages are stored in Project folder
+ Project folder name : manager.submittable.com-191922
+ Project folder path : /home/anna/Documents/Rstudio/Submittable/manager.submittable.com-191922

有什么想法吗?仍在等待创建者的回复。

最佳答案

您尝试抓取受密码保护的+ javascript 页面,您需要一个 Web 驱动程序来创建登录 session 并呈现 javascript 元素,因此,Rcrawler V 0.1.9 实现了 phantomjs webdriver 。

对于您的情况,首先安装最新版本的 Rcrawler,然后按照以下步骤操作:

1 - 安装网络驱动程序(实际上是phantomjs)

library(Rcrawler)    
install_browser()

2 - 运行 headless 浏览器(一个真正的浏览器,但不可见 br <-run_browser()

如果出现错误,这意味着您的操作系统或防病毒软件正在阻止 Web 驱动程序 (phantom.js) 进程,请尝试暂时禁用防病毒软件或调整系统配置以允许 phantomjs 和 processx 可执行文件

3-验证 session

 br<-LoginSession(Browser = br, LoginURL = 'https://manager.submittable.com/login',
LoginCredentials = c('your login','your pass'),
cssLoginFields =c('#email', '#password'),
XpathLoginButton ="//*[@type=\'submit\']" )

4 - 抓取网站页面

Rcrawler(Website ="https://manager.submittable.com/beta/discover/",no_cores = 1,no_conn = 1, LoggedSession = br, RequestsDelay = 3)

您可以使用以下方式访问网络驱动程序功能:

br$session$

RequestsDelay:每个请求延迟 3 秒,因为知道某些 javascript 需要一些时间才能完全加载

no_cores=no_conn=1:一页一页地检索页面,因为某些网站拒绝多个记录的 session 。
Rcrawler crawl/scrape password protected website submittable

这应该抓取受密码保护的网页,但是,较大的网站具有针对网页抓取的高级保护,例如 reCAPTCHA 或其他检测连续/自动请求的 http/javascript 规则。因此,如果他们提供 API,最好使用他们的 API。

我们仍在努力提供在一个命令中抓取多个网站的能力。到目前为止,您只能单独抓取每个网站,如果您想从同一网站抓取网址/页面,则可以使用 ContentScraper 功能

Rcrawler创建者

关于爬虫包: Rcrawler not crawling some websites,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49944299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com