| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 733 人关注过本帖
标题:百度爬虫问题
只看楼主 加入收藏
往生
Rank: 2
等 级:论坛游民
帖 子:19
专家分:20
注 册:2023-1-11
结帖率:50%
收藏
 问题点数:0 回复次数:1 
百度爬虫问题
import requests
url='http://www.baidu.com'
context=requests.get(url)
filename='百度爬虫.html'
file=open(filename,'w')
file.write(context.text)
file.close()
结果出现traceback
Traceback (most recent call last):
  File "C:\Users\86177\Desktop\didi\编程\爬虫\text.py", line 6, in <module>
    file.write(context.text)
UnicodeEncodeError: 'gbk' codec can't encode character '\xe7' in position 295: illegal multibyte sequence
[Finished in 670ms]
将‘w’改为‘wb’
会出现
typeError: a bytes-like object is required, not 'str
但这个代码把网址改为‘http://www.’又没错误
求大佬帮助
搜索更多相关主题的帖子: 爬虫 file 百度 context text 
2023-01-21 12:12
dengligsh
Rank: 2
等 级:论坛游民
威 望:3
帖 子:4
专家分:18
注 册:2023-2-3
收藏
得分:0 
问题出在于文件编码的不同导致的。在你的代码中,当打开文件时,你使用了‘w’模式,这意味着写入的内容将以默认的文件编码(通常是GBK)写入文件。但是,requests模块返回的内容是网页的原始字符串,其编码通常是UTF-8。

为了解决这个问题,你需要明确指定文件编码为UTF-8,例如:

file = open(filename, 'w', encoding='utf-8')

同样,更改为'wb'模式也不能解决问题,因为它是二进制模式,不支持字符串写入。

希望这能帮到你!
2023-02-03 15:02
快速回复:百度爬虫问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029567 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved