python爬取模块_python爬虫常用模块及一些python标准库

本文介绍了Python的urllib.request模块,用于打开URL和处理HTTP协议。通过示例代码展示了如何使用urlopen方法获取网页内容,包括设置超时、处理重定向、获取响应状态代码和信息。实验代码演示了如何从百度官网下载网页内容并保存到本地文件baidu.txt中。
摘要由CSDN通过智能技术生成

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

以下文章来源于腾讯云 作者:py3study

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来实验一下,代码如下

#!/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()

应该看到的效果

c48be1899f94

在这里插入图片描述

baidu.txt内容如下

c48be1899f94

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值