用硒刮

时间:2010-08-02 23:35:20

标签: html selenium screen-scraping pubmed

我想从网站上删除一些动态数据。

在网站上,顶部有几个标记为“1”,“2”,“3”和“next”的链接。如果按下标有数字的链接,它会将某些数据动态加载到内容div中。如果按下“next”,它将转到带有标签“4”,“5”,“6”,“next”的页面,并显示第4页的数据。

我想从内容div中抓取所有按下的链接的数据(我不知道有多少,它一次只显示3个和“下一个”)。

内容div中的数据在多个页面上统一布局(只是文本更改)。

我已经尝试捕获ajax请求,认为我可以获得一次原始请求,只需要像“pagenum”post参数一样更改或者在新页面中加载某些内容,但事实证明他们做了一些时髦的东西与asp有一些非常长的十六进制字符串post参数,每个请求都会更改。我相信我可以最终让它工作,但它会非常脏,如果最小的东西改变就没用。

我的想法是,我可以使用像selenium这样的东西点击超链接并为我加载页面,在内容div中发回信息。问题是,我不知道有多少次我需要按下“下一步”按钮,所以这不像我可以编写脚本我按X次。这是selenium可以处理的东西吗?如果是这样,你能指点我一个关于使用selenium来解决这个问题的教程..因为我看到的大多数教程都专注于使用它进行测试(我知道这是它的预期用途)。

2 个答案:

答案 0 :(得分:0)

我知道IRobotSoft网络刮刀可以轻松完成。在这里查看他们的演示:http://www.irobotsoft.com/help/,它会删除发布的数据。

答案 1 :(得分:0)

当有esearch webservice apis来获取数据时,没有理由屏蔽scrape。