Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web 如何在谷歌图片中获取大图片_Web_Web Scraping_Google Crawlers_Webharvest - Fatal编程技术网

Web 如何在谷歌图片中获取大图片

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">

我想从谷歌图片搜索中收集图片。但是,我经常收到错误通知

例如,URLhttps://www.google.com/search?q=banana&hl=en&gws_rd=ssl&tbm=isch在我的浏览器中可以,但在webharvest中它报告:对实体gws_rd的引用必须以“;”结尾定界符

我猜“&”是webharvest中的一个特殊字符,但我找不到有关它的信息。你能找出原因吗

代码如下:

<var-def name="search" overwrite="false">banana</var-def>

<var-def name="url"><template>http://images.google.com/images?q=${search}&amp;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是空的。