开始学习python爬虫
参考书籍《Python网络爬虫实战》
出版社:清华大学出版社
主编:胡松涛
原书中使用的是python2,而我自己使用的是python3,所以在模块名称方面有较大差异,特写此记录
urllib请求返回网页
与书中的差异以及疑问都已标注在代码段上
import urllib.request
#书中使用的模块为urllib2,在python3中名称变为urllib.request
import time, platform, os
#书中并没有导入这几个模块
def clear():
'''该函数用于清屏'''
print(u'内容较多,显示3秒后翻页')
time.sleep(3)
OS = platform.system()
if (OS == u'Windows'):
os.system('cls')
else:
os.system('clear')
def linkBaidu():
url = 'http://www.baidu.com'
try:
response = urllib.request.urlopen(url,timeout=3)
#书中python2的写入方法为response =urllib2.urlopen(url,timeout=3)
except urllib.request.URLError:
print(u"网络地址错误")
exit()
with open('./baidu.txt','wb+') as fp:
fp.write(response.read())
# 书中这里是用的是with open('./baidu.txt','w') as fp:
#运行会报错TypeError: write() argument must be str, not bytes+
print(u"获取url信息,response.geturl() \n: %s " %response.geturl())
print(u"获取返回代码,response.getcode() \n %s "%response.getcode())
print(u"获取返回信息, response.info() \n: %s" %response.info())
print(u"获取的网页内容已经存入当前目录的baidu.txt中")
if __name__ == '__main__':
linkBaidu()