EasySpider教程
EasySpider获取html页面head标签里面的内容
在网页自动化任务中,获取HTML页面head标签中的内容(例如标题、关键词、URL等)是很常见的需求。然而,部分用户在使用XPath采集head标签内容时遇到了问题,例如通过@content
的方式无法获取meta标签中的属性值。这可能是由于采集配置不当导致的。
一位用户尝试从https://www.1905.com/
页面的<head>
标签中获取标题、关键词和链接信息,使用的XPath如下:
- 获取标题:
/html/head/title
- 获取关键词:
//meta[@name='keywords']/@content
- 获取链接:
//meta[@property='og:url']/@content
在页面内手动测试时,这些XPath可以成功获取元素内容,但在任务运行时却无法获取到。
问题原因
项目维护者指出,采集meta标签属性值时,不能直接使用@content
的方式来获取,而需要在任务设置中指定正确的采集方式,即通过元素的属性值来获取内容。
解决方案
以下是如何正确获取head标签中内容的操作步骤:
选择正确的采集内容类型:
- 在使用XPath采集属性时,比如
meta
标签的content
属性,不能直接写成@content
。相反,在设置采集任务时,需要选择采集内容类型为“元素的属性值”。 - 在选择“元素的属性值”后,再指定要获取的属性名称,如
content
。
- 在使用XPath采集属性时,比如
XPath示例:
- 获取标题:
/html/head/title
- 这个XPath直接指向页面的标题,通常是有效的。
- 获取关键词:
//meta[@name='keywords']
- 在设置采集时,指定获取该元素的
content
属性值。
- 在设置采集时,指定获取该元素的
- 获取链接:
//meta[@property='og:url']
- 同样,采集时设置为获取该元素的
content
属性。
- 同样,采集时设置为获取该元素的
- 获取标题:
检查是否存在iframe:
如果无法采集到内容,可以检查目标页面是否包含iframe。如果目标元素在iframe内,需要先切换到iframe,然后才能正确获取其中的内容。测试与验证:
在设置完采集任务后,使用页面开发者工具(F12)验证XPath是否能够正确定位目标元素,确保任务能够正常执行。
在自动化任务中,采集HTML页面head标签内的信息时,需要注意XPath的正确使用,尤其是采集属性值时,要选择合适的内容类型和属性名称。如果你也遇到类似问题,按照这些步骤调整采集设置,任务应该可以顺利获取到所需的信息。
阅读全文
×
初次访问:反爬虫,人机识别