我正在尝试使用javascript,nodejs和puppeteer从网站上抓取文本。我可以成功地抓取网站的某些区域,但是只能抓取网站上的静态文本。
我要抓取的最后一条数据是href标记的文本。但是,当我使用成功用于抓取文本的相同代码时,我得到的href信息不正确。这是我的文字抓取代码:
const [name] = await page.$x('//*[@id="root"]/div/div/div[2]/div[1]/div[1]/div[2]/div[1]');
const txt = await name.getProperty('textContent');
const Name = await txt.jsonValue();
上面的这段代码可以正确地从网站中返回一个人的名字。为了获得正确的回报,我在目标站点上使用Copy XPath。
我要抓取的最后一条数据如下:
<a href="/ShowRatings.jsp?tid=2395775">
<span class="listing-cat">
<span class="icon icon-person"></span>
PROFESSOR
</span>
<span class="listing-name">
<span class="main">lastName, firstName</span>
<span class="sub">Company, Department</span>
</span>
</a>
我要抓的是第一行的实际文本,href“ /ShowRatings.jsp?tid=2395775”。但是使用前面显示的代码,我得到了不正确的结果。我认为我的错误是我需要修改puppeteer命令,因为我试图从href或普通静态文本中抓取文本。
以下是puppeteer的GitHub链接:https://github.com/puppeteer/puppeteer
感谢任何帮助。