我试图从TripAdvisor网站上获取评论。由于网站中的大多数图像都是动态加载的,所以我使用splashjavascript呈现服务来生成页面。
问题是有些图像已加载,有些未加载。
以下是我要爬网的评论的URL:https://www.tripadvisor.com.sg/ShowUserReviews-g294265-d1770798-r446535418-Marina_Bay_Sands-Singapore.html
我尝试将Splash等待时间设置为10秒(最大),结果仍然相同。
以下是我在Splash中使用的代码:
function main(splash)
local url = splash.args.url
assert(splash:go(url))
assert(splash:wait(10))
splash:set_viewport_full()
return {
html = splash:html(),
png = splash:png(),
har = splash:har(),
}
end
这是由Splash(Croped out footer部分)生成的结果图像:单击以查看图像
如您所见,除了审阅中的图像(它们应该位于红色矩形中)之外,其他所有动态加载图像都已加载。我检查了html,发现img标记是存在的,但是它们的src属性是“../x.gif”,这是一个像素图像,而不是真实图像的URL。
有没有人有这样的问题,或者知道为什么会这样?
当您滚动到图像时,图像似乎已加载。然而,当我尝试使用Splash滚动到它们时,尽管设置了延迟,我还是无法让它渲染图像。
如果查看响应主体,您会注意到图像包含在名为lazyImgs
的JavaScript数组中,并且每个图像都有一个ID。您可以在浏览评论时从占位符元素中读取每个ID,并使用它们从JavaScript数组中检索图像。这可能是最简单的解决方案。
主要内容:确定网站类型,影片详情信息,影片总数量,影片类型与类型码,编写完整程序本节讲解如何抓取豆瓣电影“分类排行榜”中的电影数据( https://movie.douban.com/chart),比如输入“犯罪”则会输出所有犯罪影片的电影名称、评分,效果如下所示: 确定网站类型 首先要明确豆瓣电影网站的类型,即是动态还是静态。检查方法:右键查看网页源码 —> 搜索“辛德勒的名单”关键字,如下图所示: 图1:分析网站类型 最终发现源码页中没有出现想要抓取的数据,只有一大堆的
本文向大家介绍python+selenium+PhantomJS抓取网页动态加载内容,包括了python+selenium+PhantomJS抓取网页动态加载内容的使用技巧和注意事项,需要的朋友参考一下 环境搭建 准备工具:pyton3.5,selenium,phantomjs 我的电脑里面已经装好了python3.5 安装Selenium pip3 install selenium 安装Phan
我们目前正在进行一个NLP项目,需要从tripadvisor中提取语料库。通用域名格式。我们期望输出为两种类型:注释和该注释的评级。我的问题是: > 是否有适合此目的的爬行工具?它必须易于使用,python是首选。我发现了一种很好的汤,但我想在这里问一下其他的建议。 有没有什么完整的工具只是为了这个目的?我是说为tripadvisor.com?写的程序 对于从大型网站获取数据(评论/评级)的任何其
你可以使用 setFetchMode() 在运行时定义动态关联抓取的语义。 List cats = sess.createCriteria(Cat.class) .add( Restrictions.like("name", "Fritz%") ) .setFetchMode("mate", FetchMode.EAGER) .setFetchMode("kittens",
我正在开发一个条形码阅读器应用程序,我想在读取条形码时显示产品图像,所以我用产品条形码编号重命名了照片,并将其放入drawables文件夹。照片名称适用于ex 1234567,请尝试使用条形码编号检索。但我在条形码上出错了。我该怎么做?
我想使用Python在这样的网页上抓取“你在寻找这些作者吗”框的内容:http://academic.research.microsoft.com/Search?query=lander 不幸的是,该框的内容是由JavaScript动态加载的。通常在这种情况下,我可以阅读Javascript来了解发生了什么,或者我可以使用Firebug之类的浏览器扩展来了解动态内容的来源。这次没有这样的运气。。。