我想得到整个html,而不仅仅是文本。
Apify.main(async () => {
const requestQueue = await Apify.openRequestQueue();
await requestQueue.addRequest({
url: //adress,
uniqueKey: makeid(100)});
const handlePageFunction = async ({ request, $ }) => {
var content_to = $('.class')
};
// Set up the crawler, passing a single options object as an argument.
const crawler = new Apify.CheerioCrawler({
requestQueue,
handlePageFunction,
});
await crawler.run();});
当我尝试这样做时,爬虫会返回复杂的对象。我知道我可以使用.text()从content_to变量中提取文本,但我需要整个html以及像这样的标记。我该怎么办?
发布于 2020-12-25 22:40:47
如果我没理解错的话--你可以用.html()代替.text()。这样,您将获得内部html,而不是元素的内部文本。
值得一提的是,您还可以将body设置为handlePageFunction arg对象:const handlePageFunction = async ({ request, body, $ }) => {
body将拥有整个页面的原始html。
https://stackoverflow.com/questions/65448842
复制相似问题