首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >爬虫包:不爬行某些网站

爬虫包:不爬行某些网站
EN

Stack Overflow用户
提问于 2018-04-20 14:44:57
回答 1查看 975关注 0票数 4

我用Rcrawler来抓取一个urls向量。对他们中的大多数人来说,这是很好的工作,但现在和他们中的每一个都不会被爬行。一开始,我只在https:// sites上注意到了这一点,它的地址是这里。但是我使用的是0.1.7版本,它应该具有https:// capability。

我还发现另一个用户也有同样的问题,但也有http://链接。我查了一下我的情况,他的网站也不适合我。

当我试图爬上其中一个网站时,我得到的是这样的信息:

代码语言:javascript
复制
>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 

有什么想法吗?还在等待造物主的回复。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-14 23:16:50

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

对于您的情况,从安装最后一个版本的Rcrawler开始,然后按照以下步骤操作:

1 -安装web驱动程序(实际上是幻影)

代码语言:javascript
复制
library(Rcrawler)    
install_browser()

2 -运行无头浏览器(一个真正的浏览器但不可见的br <- Run _()

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

3-对会话进行身份验证

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

4 -浏览网站页面

代码语言:javascript
复制
Rcrawler(Website ="https://manager.submittable.com/beta/discover/",no_cores = 1,no_conn = 1, LoggedSession = br, RequestsDelay = 3)

您可以使用以下方法访问You驱动程序函数:

代码语言:javascript
复制
br$session$

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

no_cores=no_conn=1:一个接一个地检索页面,因为一些网站拒绝多个日志会话。

这应该是为了爬行受密码保护的网页,然而,更大的网站有一种防止web抓取的高级保护,比如reCAPTCHA或其他检测连续/自动请求的http/javascript规则。所以如果他们提供API的话,最好使用他们的API。

我们仍然致力于提供在一个命令中爬行多个网站的能力。到目前为止,您只可以分别抓取每一个,或者使用ContentScraper功能,如果您想从同一个网站刮取URL/页面。

爬行器创建者

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49944299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档