标签: web-scraping

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

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

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


浏览器测试/清除:

  • 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万
查看次数

如何按类查找元素

我使用Beautifulsoup解析带有"class"属性的html元素时遇到问题.代码看起来像这样

soup = BeautifulSoup(sdata)
mydivs = soup.findAll('div')
for div in mydivs: 
    if (div["class"] == "stylelistrow"):
        print div
Run Code Online (Sandbox Code Playgroud)

我在脚本完成后"同一行"收到错误.

File "./beautifulcoding.py", line 130, in getlanguage
  if (div["class"] == "stylelistrow"):
File "/usr/local/lib/python2.6/dist-packages/BeautifulSoup.py", line 599, in __getitem__
   return self._getAttrMap()[key]
KeyError: 'class'
Run Code Online (Sandbox Code Playgroud)

我该怎么摆脱或这个错误?

html python beautifulsoup web-scraping

344
推荐指数
9
解决办法
41万
查看次数

如何获取任何网址或网页的Google缓存时限?

在我的项目中,我需要将Google缓存时代添加为重要信息.我尝试搜索Google缓存时代的来源,即Google上次重新索引所列页面的天数.

我在哪里可以获得Google缓存时代?

html url hyperlink web-scraping

261
推荐指数
4
解决办法
67万
查看次数

哪个HTML Parser最好?

我编写了很多解析器.到目前为止,我使用HtmlUnit无头浏览器进行解析和浏览器自动化.

现在,我想分开两个任务.

由于80%的工作只涉及解析,我想使用轻量级HTML解析器,因为在HtmlUnit中首先加载页面需要花费很多时间,然后获取源然后解析它.

我想知道哪个HTML解析器是最好的.如果它接近HtmlUnit解析器,解析器会更好.


编辑:

最好的,我至少需要以下功能:

  1. 速度
  2. 通过"id"或"name"或"tag type"轻松找到任何HtmlElement.

如果它不清除脏HTML代码,那对我来说没问题.我不需要清理任何HTML源代码.我只需要一种最简单的方法来移动HtmlElements并从中获取数据.

html java parsing html-parsing web-scraping

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

使用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万
查看次数

使用XML包将html表刮入R数据帧

如何使用XML包刮取html表?

巴西足球队的维基百科页面为例.我想在R中阅读并获得"巴西队对阵FIFA认可球队所有比赛的名单"表作为data.frame.我怎样才能做到这一点?

html xml parsing r web-scraping

151
推荐指数
4
解决办法
11万
查看次数

Selenium - Python - 下拉菜单选项值

我需要从下拉菜单中选择一个元素.

例如,打开这个:

<select id="fruits01" class="select" name="fruits">
  <option value="0">Choose your fruits:</option>
  <option value="1">Banana</option>
  <option value="2">Mango</option>
</select>
Run Code Online (Sandbox Code Playgroud)
  1. 所以首先我要点击它.我这样做:

    inputElementFruits = driver.find_element_by_xpath("//select[id='fruits']").click()
    
    Run Code Online (Sandbox Code Playgroud)

(好吧,打开菜单)

  1. 在我必须选择好元素之后,让我们说芒果.我尝试了不同的东西,Mango但它没有用.

python selenium webdriver web-scraping selenium-webdriver

146
推荐指数
9
解决办法
21万
查看次数

如何使用我已知道其URL地址的Python在本地保存图像?

我知道Internet上图像的URL.

例如http://www.digimouth.com/news/media/2011/09/google-logo.jpg,其中包含Google的徽标.

现在,如何使用Python下载此图像,而无需在浏览器中实际打开URL并手动保存文件.

python web-scraping

135
推荐指数
8
解决办法
20万
查看次数

133
推荐指数
9
解决办法
20万
查看次数