【问题标题】:Unable to scrape a url by PhanthomJs无法通过 PhantomJs 抓取网址
【发布时间】:2016-10-24 17:36:28
【问题描述】:

我有一个页面可能以某种方式受到无头浏览器刮擦的保护,但我当然不确定。问题是,在浏览器中它加载良好,javascript 执行并且一切都很好。使用 phanthomjs 时,它没有,似乎 javascript 没有执行或出现其他问题。

我怎样才能知道呢?你推荐什么来抓取该页面?

【问题讨论】:

  • @ArtjomB.,这是我的网站。
  • phantomjs 会崩溃吗?返回你的空页面?你有一些代码吗?你如何调用phantomjs?也尝试设置用户代理
  • @Jio 你能展示你的代码,或者你正在尝试的简化版本吗?如果可能的话,还有你试图抓取的网址。

标签: javascript web-scraping phantomjs headless-browser


【解决方案1】:

这是一个基本的 phantomjs 脚本,如果对指定 url 的请求成功与否,它将打印到控制台。这应该可以帮助您查看是否可以访问该页面。如果你成功了,你应该能够刮。这会让我觉得是你的 JS 引起了问题,而不是无头浏览器。如果您打印“不成功”,您可以设置 userAgent 设置,使其看起来像一个真正的浏览器。

var page = new WebPage();
// Uncomment the next line to set the user agent.
//page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36';
page.open('http://www.google.ca', function (status) {
    if (status !== 'success') {
        console.log('Unsuccessful');
    } else {
        console.log('Successful')
    }
    phantom.exit();
});

http://www.google.ca更改为您想要的网址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-09
    • 2022-01-27
    • 2022-06-25
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多