页面内容不同 Apify Web Crawling

Diffrent content on the page Apify Webcrawling

我有一个关于使用 Apify 抓取网站的问题。我想从网页中获取以下信息:“位置、区域、网站和电子邮件。现在使用我的代码,我可以获得几页的正确数据,问题是信息的顺序在每一页上都不相同. 例如 Phone 数字是一个页面上的第一个,另一个页面上的第三个。有没有办法在代码的 "dt" 部分查找文本,所以我得到了右列中的正确数据?或者是否有其他选项可以解决此问题?

现在这是我的代码: const $ = jQuery

if ( request.userData.label === 'Deals'){
const location = $('.info-list dd:nth-of-type(1)').text();
const area = $('.info-list dd:nth-of-type(2)').text();
const website = $('.info-list dd:nth-of-type(4)').text();
const email = $('.info-list dd:nth-of-type(5)').text();

这是 Html 代码:

<dl class="info-list">
<dt>Location</dt><dd>.....</dd><dt>Area</dt><dd>Cape Town CBD</dd><dt>Phone</dt><dd class="number">......</dd><dt>Website</dt><dd><a target="_blank" href=.......>http://15onorangebyautograph.com</a></dd><dt>Email</dt><dd><a href="mailto:africanpride.15onorange@autographhotels.com">africanpride.15onorange@autographhotels.com</a></dd>
</dl>

感谢您的帮助

是的,使用 JQuery 您也可以使用 [:contains()](https://api.jquery.com/contains-selector/#contains1)

查询文本

所以你可以得到包含关键字的 dt 然后下一个是 dd 有你需要的数据:

const location = $('.info-list dt:contains("Location")').next().text();