标签: screen-scraping

HtmlUnit的替代品

我一直在研究迄今为止可用的无头浏览器,并发现HtmlUnit被广泛使用.与HtmlUnit相比,我们有什么替代HtmlUnit可能具有优势吗?

谢谢Nayn

screen-scraping web-crawler htmlunit headless-browser

20
推荐指数
3
解决办法
1万
查看次数

使用CasperJS和PhantomJS刮取Google关键字工具

我目前正在尝试使用CasperJS和PhantomJS(这两个都是优秀的工具,感谢n1k0和Ariya)来抓取谷歌关键字工具,但我无法让它发挥作用.

这是我目前的流程:

  1. 使用我的Google帐户登录(以避免在关键字工具中使用验证码).
  2. 导航到"关键字工具"页面.
  3. 填写搜索表单并按Search.

我坚持第3步:搜索表单不是常规HTML表单,我不能使用Casper#fill(),所以我直接访问字段.以下是我尝试更改Word or phrase字段值的一些语法:

this.evaluate(function() {

    // Trying to change the value...
    document.querySelector('textarea.sP3.sBFB').value = 'MY SUPER KEYWORDS';
    document.querySelector('textarea.sP3.sBFB').setAttribute('value', 'MY SUPER KEYWORDS');
    document.querySelector('textarea').value = 'MY SUPER KEYWORDS';   // there's only one <textarea> on the page

    // Trying to change other attributes...
    document.querySelector('textarea.sP3.sBFB').textContent = 'MY SUPER KEYWORDS';
    document.querySelector('textarea').style.backgroundColor = 'yellow';
});
Run Code Online (Sandbox Code Playgroud)

什么都行不通.我正在做一个Casper#capture()正确的,看看该字段包含什么.正如您所看到的,它确认我在正确的页面上并且我已登录,但它<textarea>是空的.

奇怪的是,我可以访问DOM的其他部分:我可以改变一个链接,说的文本Advanced Options and Filters___VINCE SAYS HELLO___(见截图),通过执行以下操作:

this.evaluate(function() { …
Run Code Online (Sandbox Code Playgroud)

javascript screen-scraping web-scraping phantomjs

19
推荐指数
1
解决办法
3834
查看次数

在PyQuery中获取属性?

我正在使用PyQuery并希望打印链接列表,但无法弄清楚如何href从PyQuery语法中的每个链接获取属性.

这是我的代码:

  e = pq(url=results_url)
  links = e('li.moredetails a')
  print len(links)
  for link in links:
    print link.attr('href')
Run Code Online (Sandbox Code Playgroud)

这打印10,然后给出以下错误:

AttributeError: 'HtmlElement' object has no attribute 'attr'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

python screen-scraping pyquery

18
推荐指数
1
解决办法
1万
查看次数

从具有大量Javascript的网页进行屏幕抓取

我被要求编写一个应用程序,该应用程序屏幕从内部网页面抓取信息,并以易于查看的格式呈现其中的特定信息.网页是一个真正的混乱,需要用户点击六个图标来发现订购的商品是否已经到达或已被收到.正如你可以想象的那样,用户发现这至少令人恼火,并且拥有一个任何人都可以使用的应用程序,在单个屏幕中列出他们的订单状态会很不错.

是的,我知道一个更好的解决方案是重新编写网络应用程序,但这将涉及到供应商,并将花费我们作为小财富.

无论如何,在我看到这个时,我发现我想要抓取的网页主要是Javascript(虽然它不使用任何AJAX技术).有没有人知道是否存在我可以使用Javascript提供的库或程序,然后会为我的应用程序解析DOM?

我几乎可以用任何语言编写应用程序,但我的偏好是JavaFX,所以我可以玩它.

谢谢你的时间.

伊恩

html javascript dom screen-scraping

17
推荐指数
2
解决办法
2万
查看次数

从HTML Java中提取文本

我正在开发一个下载HTML页面的程序,然后选择一些信息并将其写入另一个文件.

我想提取段落标记之间的信息,但我只能获得段落的一行.我的代码如下;

FileReader fileReader = new FileReader(file);
BufferedReader buffRd = new BufferedReader(fileReader);
BufferedWriter out = new BufferedWriter(new FileWriter(newFile.txt));
String s;

while ((s = br.readLine()) !=null) {
    if(s.contains("<p>")) {
        try {
            out.write(s);
        } catch (IOException e) {
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图添加另一个while循环,这将告诉程序继续写入文件,直到该行包含</p>标记,通过说;

while ((s = br.readLine()) !=null) {
    if(s.contains("<p>")) {
        while(!s.contains("</p>") {
            try {
                out.write(s);
            } catch (IOException e) {
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用.请有人帮忙.

html java screen-scraping text-extraction html-content-extraction

17
推荐指数
3
解决办法
4万
查看次数

如何在此上下文中使用WebClient.DownloadDataAsync()方法?

我的计划是让用户在我的程序中写下电影标题,我的程序将异步提取适当的信息,这样UI就不会冻结.

这是代码:

public class IMDB
    {
        WebClient WebClientX = new WebClient();
        byte[] Buffer = null;


        public string[] SearchForMovie(string SearchParameter)
        {
            //Format the search parameter so it forms a valid IMDB *SEARCH* url.
            //From within the search website we're going to pull the actual movie
            //link.
            string sitesearchURL = FindURL(SearchParameter);

            //Have a method download asynchronously the ENTIRE source code of the
            //IMDB *search* website.
            Buffer = WebClientX.DownloadDataAsync(sitesearchURL);


            //Pass the IMDB source code to method findInformation().

            //string [] lol = findInformation();

            //???? …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous screen-scraping download

17
推荐指数
3
解决办法
4万
查看次数

用python生成的javascript生成的html

我需要用python抓一个站点.我获得与urlib模块的源HTML代码,但我需要也刮由一个JavaScript功能(这是包含在HTML源)中产生一些HTML代码.这个功能在网站中的作用是当你按下一个按钮时输出一些HTML代码.如何用python代码"按下"这个按钮?scrapy可以帮助我吗?我用firebug捕获了POST请求,但是当我尝试在url上传递它时,我收到403错误.有什么建议?

javascript python browser screen-scraping

17
推荐指数
2
解决办法
1万
查看次数

Web浏览C# - 库,工具等 - 像Perl中的Mechanize一样吗?

寻找与Mechanize for .NET类似的东西......

如果您不知道Mechanize是什么.. http://search.cpan.org/dist/WWW-Mechanize/

我会在这里保留一份建议清单.用于浏览/发布/屏幕抓取的任何内容(除了WebRequest和WebBrowser控件).

解析

Web应用程序测试

工具

  • Firebug for Firefox
  • 适用于IE的Internet Explorer开发人员工具栏
  • Chrome也有

注意

WatiN接近我正在寻找的东西,除了它打开一个浏览器,这是令人讨厌和令人敬畏的同时.取决于你在做什么.

c# screen-scraping login mechanize

16
推荐指数
1
解决办法
5262
查看次数

使用jquery和ajax进行网站抓取

我希望能够操纵给定网址的html.像html抓取的东西.我知道这可以使用curl或一些抓取库来完成.但是我想知道是否可以使用jquery使用ajax对url发出get请求并检索url的html,并运行jquery代码HTML返回?

谢谢

javascript ajax jquery screen-scraping

15
推荐指数
2
解决办法
3万
查看次数

从Facebook页面墙或组墙获取数据,以便在个人网站上使用

我想连接到公共Facebook页面或组,并在个人网站上列出墙上的所有条目.我将在我的服务器上使用PHP,这对我来说是最好的解决方案.或者javascript.

任何人都可以解释或者提供一个如何做到这一点的工作代码?或者只是为了制作这个所有的步骤?

如果它可以处理每个帖子的人,日期,描述......的信息,那将是伟大的!所以我的布局可以定制.

谢谢你帮助我!

php facebook screen-scraping

15
推荐指数
1
解决办法
2万
查看次数