使用BeautifulSoup爬取“0daydown”网站的信息(2)——字符编码问题解决

在使用BeautifulSoup爬取0daydown网站信息并尝试写入TXT文档时遇到字符编码问题,导致汉字显示为x..。通过深入学习字符编码和Python3文件处理,发现默认文件编码为GBK,而网页编码为UTF-8。通过在open函数中指定'encoding'参数为'utf-8'成功解决此问题。同时,学习了GitHub并开始使用。
摘要由CSDN通过智能技术生成

上篇中的程序实现了抓取0daydown最新的10页信息,输出是直接输出到控制台里面。再次改进代码时我准备把它们写入到一个TXT文档中。这是问题就出来了。

最初我的代码如下:

#-*- coding: utf-8 -*-
#-------------------------------------
#version: 0.1
#note:实现了查找0daydown最新发布的10页资源。
#-------------------------------------
#-------------------------------------
#version: 0.2
#note:在v0.1基础上输出内容到一个指定TXT文件中
#-------------------------------------

import urllib.request
import sys
import locale

from bs4 import BeautifulSoup

print(locale.getdefaultlocale())

old = sys.stdout        #保存系统默认输出
fp = open("test1.txt",'w')
#fp = open("test1.txt",'w', encoding="utf-8")    #以utf-8进行文件编码
sys.stdout = fp         #输出重定向到一个文件中

for i in range(1,11):
	url = "http://www.0daydown.com/page/" + str(i)	#每一页的Url只需在后面加上整数就行
	page = urllib.request.urlopen(url)
	soup_packtpage = BeautifulSoup(page)
	page.close()
	num = " The Page of: 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值