andenumerate 发表于 2023-2-21 11:37:10

求大哥帮忙解决一下

要抓取的小说内容,在网页源代码中变成了大小写英文和数字和加号的编码,而且返回状态码变成了304重定向,求大哥教一下解决思路

isdkz 发表于 2023-2-21 11:50:56

方便发一下网址吗?听你的表述完全想象不出来是怎样的

andenumerate 发表于 2023-2-21 12:05:08

isdkz 发表于 2023-2-21 11:50
方便发一下网址吗?听你的表述完全想象不出来是怎样的

不方便在这发,因为那个网站是别人发的,练手的网站打开后才知道是个刘备网站

isdkz 发表于 2023-2-21 12:11:14

andenumerate 发表于 2023-2-21 12:05
不方便在这发,因为那个网站是别人发的,练手的网站打开后才知道是个刘备网站

听你说的大小写英文和数字和加号的编码,盲猜是 base64编码,base64编码的解码也挺方便的

ouyunfu 发表于 2023-2-21 14:35:59

如果你要从网页中抓取的小说内容被编码成大小写英文、数字和加号等字符,那么可能是采用了一种编码方式,比如Base64编码或者其他编码方式。你可以使用Python中的相应库对这种编码进行解码。

对于状态码变成了304重定向,这通常意味着你请求的资源已经被缓存,服务器直接返回了缓存的内容,而没有返回实际的资源。如果你需要获取最新的内容,你可以尝试在请求中添加一些参数,比如时间戳等,以避免缓存。

以下是使用Python进行解码的示例代码:
import base64

encoded_str = "SGVsbG8gV29ybGQh"# 编码后的字符串
decoded_str = base64.b64decode(encoded_str).decode('utf-8')# 解码
print(decoded_str)
如果你要解码其他编码方式的字符串,你可以使用Python的相应库进行解码,比如:

对于URL编码的字符串,可以使用urllib.parse.unquote方法进行解码。
对于HTML实体编码的字符串,可以使用html.unescape方法进行解码。
对于其他编码方式的字符串,可以参考相应的解码方法进行解码。
希望这些信息对你有所帮助!
页: [1]
查看完整版本: 求大哥帮忙解决一下