使用javascript和puppeteer从<href>抓取文本

时间:2020-04-21 12:11:49

标签: javascript web-scraping puppeteer

我正在尝试使用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

感谢任何帮助。

0 个答案:

没有答案