相关疑难解决方法(0)

无头浏览器和抓取 - 解决方案

我正在尝试为浏览器自动测试套件和能够抓取的无头浏览器平台列出可能的解决方案列表.


浏览器测试/清除:

  • Selenium - 浏览器自动化中的多语言旗舰,Python,Ruby,JavaScript,C#,Haskell等的绑定,用于Firefox的IDE(作为扩展),用于更快的测试部署.可以充当服务器并具有大量功能.

JAVASCRIPT

  • PhantomJS - JavaScript,带有屏幕捕获和自动化的无头测试,使用Webkit.从版本1.8开始,实现了Selenium的WebDriver API,因此您可以使用任何WebDriver绑定,并且测试将与Selenium兼容
  • SlimerJS - 与PhantomJS类似,使用Gecko(Firefox)代替WebKit
  • CasperJS - 基于PhantomJS和SlimerJS构建的JavaScript具有额外的功能
  • Ghost驱动程序 - 用于PhantomJSWebDriver Wire协议的JavaScript实现.
  • 新的 PhantomCSS - CSS回归测试.CasperJS模块,用于使用PhantomJS和 Resemble.js自动进行可视化回归测试.
  • WebdriverCSS -插件为 Webdriver.io自动化视觉回归测试
  • 新的 PhantomFlow - 通过测试描述和可视化用户流.Web用户界面测试的实验方法.
  • new trifleJS - 将PhantomJS API移植到使用Internet Explorer引擎.
  • 新的 CasperJS IDE (商业)

Node.js的

  • Node-phantom - 填补了PhantomJSnode.js之间的空白
  • WebDriverJs - Selenium团队对node.js的Selenium WebDriver绑定
  • WD.js - WebDriver/Selenium 2的节点模块
  • yiewd - …

selenium scrapy web-scraping phantomjs casperjs

362
推荐指数
3
解决办法
7万
查看次数

使用Python抓取Web页面

我正在尝试开发一个简单的网络刮刀.我想在没有HTML代码的情况下提取文本.事实上,我实现了这个目标,但我已经看到在加载JavaScript的某些页面中我没有获得好的结果.

例如,如果某些JavaScript代码添加了一些文本,我看不到它,因为当我打电话时

response = urllib2.urlopen(request)
Run Code Online (Sandbox Code Playgroud)

我没有添加原始文本(因为JavaScript在客户端中执行).

所以,我正在寻找一些解决这个问题的想法.

python python-2.x web-scraping urlopen

154
推荐指数
12
解决办法
20万
查看次数

硒与scrapy动态页面

我正在尝试使用scrapy从网页上抓取产品信息.我的待删节网页如下所示:

  • 从包含10个产品的product_list页面开始
  • 点击"下一步"按钮加载下10个产品(两个页面之间的网址不变)
  • 我使用LinkExtractor跟踪每个产品链接到产品页面,并获得我需要的所有信息

我试图复制next-button-ajax-call但是无法正常工作,所以我试试了selenium.我可以在一个单独的脚本中运行selenium的webdriver,但我不知道如何与scrapy集成.我应该把硒部分放在我的scrapy蜘蛛里?

我的蜘蛛非常标准,如下所示:

class ProductSpider(CrawlSpider):
    name = "product_spider"
    allowed_domains = ['example.com']
    start_urls = ['http://example.com/shanghai']
    rules = [
        Rule(SgmlLinkExtractor(restrict_xpaths='//div[@id="productList"]//dl[@class="t2"]//dt'), callback='parse_product'),
        ]

    def parse_product(self, response):
        self.log("parsing product %s" %response.url, level=INFO)
        hxs = HtmlXPathSelector(response)
        # actual data follows
Run Code Online (Sandbox Code Playgroud)

任何想法都表示赞赏.谢谢!

python selenium scrapy web-scraping selenium-webdriver

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

如何在Python中使用Selenium?

如何设置Selenium以使用Python?我只想用Python编写/导出脚本,然后运行它们.有没有资源可以教我如何做到这一点?我试过谷歌搜索,但我发现的东西要么是指过时版本的Selenium(RC),要么是过时版本的Python.

python selenium selenium-webdriver

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

使用Python刮擦javascript生成的数据

我想用Python抓取一些关于url的数据. http://www.hankyung.com/stockplus/main.php?module=stock&mode=stock_analysis_infomation&itemcode=078340

这是关于公司信息的摘要.

我要刮的东西没有显示在第一页上.通过单击名为"재무제표"的选项卡,您可以访问财务报表.点击名为"현금흐름표"的标签,即可访问"现金流量".

我想刮掉"现金流"数据.

但是,现金流量数据是通过网址上的javascript生成的.以下链接是隐藏的网址,http://stock.kisline.com/compinfo/financial/main.action?vhead = N &vfoot = N&vstay =&omit =&vwidth =

通过向此网址提交一些选项值和Cookie来生成现金流量数据.

如您所知,第一个链接中的itemcode = 078340意味着股票代码,我想要收集多达1680种股票的现金流量数据.我想让它成为一个循环结构.

是否有很好的方法来刮取现金流量数据?我试过scrapy但scrapy很难处理我已经使用的另一个刮擦代码.

javascript python screen-scraping web-scraping

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

web使用python抓取动态内容

我想使用Python刮的内容"是你寻找这些作者:"网页上的箱子像这样的:http://academic.research.microsoft.com/Search?query=lander

不幸的是,该框的内容由JavaScript动态加载.通常在这种情况下,我可以阅读Javascript来弄清楚发生了什么,或者我可以使用像Firebug这样的浏览器扩展来确定动态内容的来源.这次没有这样的运气...... Javascript非常复杂,Firebug没有提供很多关于如何获取内容的线索.

有什么技巧可以让这项任务变得简单吗?

python screen-scraping web-scraping

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