python第一个爬虫小程序以及遇到问题解决(中文乱码)+批量爬取网页并保存至本地

今天自己看了一下python试着写了一个爬虫小程序

原始代码:

from urllib import request
request.encoding = "utf-8"
response = request.urlopen("http://www.baidu.com")  # 打开网站
html =str(response.read(),'utf-8')
f=open('C:/Users/lenovo/Desktop/11.html','w+')
page = f.write(html)
f.close()


起初在将爬取得网页保存到本地的时候出现错误:

:UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 0: illegal multibyte seque

应该f的编码格式是GBK的,但是其它的是UTF-8的。所以指定一下编码格式即可。


f=open('C:/Users/lenovo/Desktop/11.html','w+',encoding='utf-8')
修改后代码:


from urllib import request
request.encoding = "utf-8"
response = request.urlopen("http://www.baidu.com")  # 打开网站
html =str(response.read(),'utf-8')
f=open('C:/Users/lenovo/Desktop/11.html','w+',encoding='utf-8')
page = f.write(html)
f.close()




批量爬取网页并保存至本地




from urllib import request
request.encoding = "utf-8"
fr = open("C:/Users/lenovo/Desktop/url.txt", "r").readlines()
count = 0
print(fr)
for line0 in fr:
    line = line0.strip('\n')
    line = line.strip('\'')
    print(line+"===========================")
    response = request.urlopen(line)
    html = str(response.read(), 'utf-8')

    fw = open("C:/Users/lenovo/Desktop/%d.html" % count, "w", encoding='utf-8')
    count+=1
    page = fw.write(html)
    fw.close()













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值