运行平台:Windows
Python版本:Python3.x
IDE:Sublime text3
学习参考博客:http://blog.csdn.net/c406495762/article/details/58716886
开发环境搭建参考博客:http://www.cnblogs.com/nx520zj/p/5787393.html
在Subilime text3 搭建python编译环境时遇到了各种bug
安装Anaconda插件以后,编写python代码以后有白色方框ORZ,可能原因是代码不符合PEP 8规范
解决方法有两个:
一是直接关闭Anaconda的这项提示,Sublime > Preferences > Package Settings > Anaconda > Settings User 中添加如下代码:
- {"anaconda_linting": false}
简单爬虫:
urllib包:处理URL
包含模块:
urllib.request:打开并读取URLs
urllib.error:包含一些有urllib.request产生的错误,可以使用try进行捕捉
urllib.parse:包含一些解析URLs的方法
urllib.robotparser:解析robots.txt文本文件,它提供了一个单独的RobotFileParser类,通过该类提供的can_fetch()方法测试爬虫是否可以下载一个页面
打开网站,读取并打印信息
# -*- coding: UTF-8 -*- import io import sys from urllib import request sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') #改变标准输出的默认编码 if __name__ == "__main__": response = request.urlopen("http://fanyi.youdao.com/") html = response.read() html = html.decode('utf-8') #根据网页的编码方式进行解码 print(html)
报错:UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 4005: illegal multibyte sequence
报错原因:print()函数自身有限制,不能完全打印所有的unicode字符。
解决办法:
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') #改变标准输出的默认编码
参考博客:https://blog.csdn.net/jim7424994/article/details/22675759
获取网页的编码方式:
安装第三方库chardet
安装时遇到的问题:
打开cmd:右键开始,运行,输入cmd
更新pip:输入命令
python -m pip install --upgrade pip # 升级pip(python3.4之后的版本都自带了PIP,但是需要升级之后才能使用)
安装chardet
我的python文件在D盘,cmd中cd切换到D盘出了点问题,cd之后再输入"d:"就ok了,切换到pip所在的目录下,例如我的目录为“D:\coding\python36\Scripts”,然后输入指令:
pip install chardet
然后就可以用啦~
# -*- coding: UTF-8 -*- from urllib import request import chardet if __name__ == "__main__": response = request.urlopen("http://fanyi.youdao.com/") html = response.read() chardet = chardet.detect(html) print(chardet)