使用Xidel爬取Hacker News时结果顺序异常的问题求助
解决Xidel爬取Hacker News时URL与标题顺序颠倒的问题
你的问题出在使用|运算符的方式上——这个符号会让Xidel先遍历所有//span[@class="titleline"]节点输出标题,再遍历所有//span[@class="titleline"]/a/@href节点输出URL,所以结果是标题全在前、URL全在后。
要实现URL在前、标题在后(或同行)的效果,需要针对每条新闻节点,先提取URL再提取标题,而不是分开提取两组数据。以下是两种可行的命令:
1. URL与标题各占一行
使用XPath的节点组语法,对每条新闻节点依次输出URL和标题:
xidel -e '//span[@class="titleline"]/(a/@href, .)' https://news.ycombinator.com/newest
执行后输出格式会是:
https://www.youtube.com/watch?v=FXCLLsCGY0s There Is No Such Thing as a Microservice (youtube.com)
2. URL与标题同行输出
用concat()函数将URL和标题拼接成一行文本:
xidel -e '//span[@class="titleline"]/concat(a/@href, " ", .)' https://news.ycombinator.com/newest
执行后输出格式会是:
https://www.youtube.com/watch?v=FXCLLsCGY0s There Is No Such Thing as a Microservice (youtube.com)
内容的提问来源于stack exchange,提问作者Mévatlavé Kraspek
相关产品推荐
相关产品推荐

