前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python爬虫常用模块

python爬虫常用模块

作者头像
py3study
发布2018-08-02 15:13:13
6080
发布2018-08-02 15:13:13
举报
文章被收录于专栏:python3python3

python标准库之urllib模块

涉及到网络这块,必不可少的模式就是urllib.request了,顾名思义这个模块主要负责打开URL和HTTP协议之类的

urllib最简单的应用就是

urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

url  需要打开的网址

data  Post提交的数据

timeout  设置网站的访问超时时间

urlopen返回对象提供方法

read() , readline() ,readlines() , fileno() , close() :对HTTPResponse类型数据进行操作

geturl()函数返回response的url信息,常用于url重定向的情况

info()函数返回response的基本信息

getcode()函数返回response的状态代码,最常见的代码是200服务器成功返回网页,404请求的网页不存在,503服务器暂时不可用

编写一个testurllib.py来实验一下,代码如下

代码语言:javascript
复制
#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'
import urllib.request
import time
import platform
import 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 = 'https://www.baidu.com'
    try:
        response = urllib.request.urlopen(url, timeout=3)
    except urllib.request.URLError:
        print(u'网络地址错误')
        exit()
    with open('baidu.txt','w') as fp:
        fp.write(response.read().decode('utf-8'))
    print(u'获取url信息,response,geturl() \n: {}'.format(response.geturl()))
    print(u'获取返回代码,response.getcode() \n:{}'.format(response.getcode()))
    print(u'获取返回信息,response.info() \n:{}'.format(response.info()))
    print(u'获取的网页内容以存放当前目录baidu.txt中,请自行查看')

if __name__ == '__main__':
    linkbaidu()

应该看到的效果

blob.png
blob.png

baidu.txt内容如下

blob.png
blob.png
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-11-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档