【发布时间】:2021-08-20 09:06:40
【问题描述】:
我遵循了一个简单的在线教程,它使用此代码打开并记录了一个网页:
const axios = require('axios')
const cheerio = require('cheerio')
async function getPriceFeed() {
try{
const siteUrl = 'coinmarketcap.com'
const data = await axios({
method: 'GET',
url: siteUrl,
})
console.log(data)
} catch (err) {
console.error(err)
}
}
getPriceFeed()
代码很简单,但是在我的控制台日志中我得到了这个:
Error: connect ECONNREFUSED 127.0.0.1:80
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1144:16) {
errno: 'ECONNREFUSED',
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 80,
config: {
url: 'coinmarketcap.com',
method: 'get',
headers: {
Accept: 'application/json, text/plain, */*',
'User-Agent': 'axios/0.21.1'
},
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
adapter: [Function: httpAdapter],
xsrfCookieName: 'XSRF-TOKEN',
等等等等
我在看什么?为什么它不返回一个长的 html 字符串?
【问题讨论】:
-
你的网址看起来不对,你想写这个吗? coinmarketcap.com
-
我会试试的!测试...不,它仍然在控制台中显示相同的内容
-
请勿发布代码、数据、错误消息等的图片 - 将文本复制或输入到问题中。 How to Ask
-
我也尝试了其他方法,包括 puppeteer 和 fetch,但结果好坏参半。在少数情况下,我能够获取 html 字符串,但它始终遵循我在图片中发布的内容,并且仅适用于少数网站,大多数网站都有我上面描述的问题。
-
好的,我会编辑 q
标签: node.js web-scraping