urllib请求返回网页

开始学习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()

参考于https://www.jianshu.com/p/dd8392db5917

猜你喜欢

转载自blog.csdn.net/sinat_31308671/article/details/83148870
今日推荐