Web 如何在谷歌图片中获取大图片
我想从谷歌图片搜索中收集图片。但是,我经常收到错误通知 例如,URLhttps://www.google.com/search?q=banana&hl=en&gws_rd=ssl&tbm=isch在我的浏览器中可以,但在webharvest中它报告:对实体gws_rd的引用必须以“;”结尾定界符 我猜“&”是webharvest中的一个特殊字符,但我找不到有关它的信息。你能找出原因吗 代码如下:Web 如何在谷歌图片中获取大图片,web,web-scraping,google-crawlers,webharvest,Web,Web Scraping,Google Crawlers,Webharvest,我想从谷歌图片搜索中收集图片。但是,我经常收到错误通知 例如,URLhttps://www.google.com/search?q=banana&hl=en&gws_rd=ssl&tbm=isch在我的浏览器中可以,但在webharvest中它报告:对实体gws_rd的引用必须以“;”结尾定界符 我猜“&”是webharvest中的一个特殊字符,但我找不到有关它的信息。你能找出原因吗 代码如下: <var-def name="search" overwrite="false">
<var-def name="search" overwrite="false">banana</var-def>
<var-def name="url"><template>http://images.google.com/images?q=${search}&hl=en</template></var-def>
<var-def name="xml">
<html-to-xml>
<http url="${url}"/>
</html-to-xml>
</var-def>
<var-def name="largeImgUrl">
<xpath expression="//*[@id='irc_cc']/div[4]/div[1]/div/div[2]/div[1]/a/img">
<var name="xml"/>
</xpath>
</var-def>
根据经验,您需要首先将url存储在变量中,然后从http处理器调用中引用该变量 编辑 我注意到您已经粘贴了代码。好 1请记住,所有webharvest配置文件都是用XML编写的,而amersand&是XML中的一个特殊字符,因为它是 在webharvest中,我通常通过在或块中使用来避免此问题 2使用webharvest图形界面时,可以轻松调试xpath表达式。正常运行代码,然后在顶部的工具栏上单击带有放大镜的图标。然后选择已设置的变量的xml名称。这将打开一个新窗口,其中包含xml的预览。确保“查看方式”下拉列表设置为xml。 现在应该有一个xpath表达式框,可以在其中测试xpath。
3I强烈建议不要编写引用编号元素的XPath。例如div[4]/div[1]/div/div[2]/div[1]/。底层页面中的任何微小更改通常都会破坏代码。基于id或其他属性选择元素要好得多 您是否尝试过将符号和改为&?谢谢,但你的意思是把url改成?它可以工作,但我在WebHarvest中获得的html与我浏览器中的html不同。非常感谢您的回复。我已经更新了我的帖子。我使用google chrome帮助我找到xpath的表达式,即“inspect element”和“copy xpath”。上面显示的代码示例旨在获取第一张大图的url。但事实证明largeImgUrl是空的。