如果错误代码是404,如何在wget中获取确切的页面内容

问题描述 投票:1回答:1

我有两个url一个正在工作url另一个是页面删除url.working url很好但是对于页面删除的url而不是获取确切的页面内容wget收到404

工作网址

import os
def curl(url):
    data = os.popen('wget -qO- %s '% url).read()
    print (url)
    print (len(data))
    #print (data)

curl("https://www.reverbnation.com/artist_41/bio")

输出:

https://www.reverbnation.com/artist_41/bio
80067

页面已删除网址

import os
def curl(url):
    data = os.popen('wget -qO- %s '% url).read()
    print (url)
    print (len(data))
    #print (data)

curl("https://www.reverbnation.com/artist_42/bio")

输出:

https://www.reverbnation.com/artist_42/bio
0

我将长度设为0,但实时页面中有一些内容

如何在wget或curl中接收确切的内容

python-3.x curl web-scraping wget
1个回答
4
投票

wget有一个名为“--content-on-error”的开关:

--content-on-error
           If this is set to on, wget will not skip the content when the server responds with a http status code that indicates error.

所以只需将其添加到您的代码中,您也将拥有404页面的“内容”:

import os
def curl(url):
    data = os.popen('wget --content-on-error -qO- %s '% url).read()
    print (url)
    print (len(data))
    #print (data)

curl("https://www.reverbnation.com/artist_42/bio")
© www.soinside.com 2019 - 2024. All rights reserved.