大橙子网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

python爬虫常用模块有哪些

这篇文章给大家分享的是python爬虫常用的模块。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

创新互联公司长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为万州企业提供专业的网站设计制作、网站制作,万州网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

Python标准库——urllib模块

功能:打开URL和http协议之类

注:python 3.x中urllib库和urilib2库合并成了urllib库。 其中urllib2.urlopen()变成了urllib.request.urlopen(),urllib2.Request()变成了urllib.request.Request()

urllib请求返回网页

urllib.request.urlopen

urllib.request.open(url[,data,[timeout,[cafile,[capth[,cadefault,[context]]]]]])

urllib.requset.urlioen可以打开HTTP(主要)、HTTPS、FTP、协议的URL

ca 身份验证

data 以post方式提交URL时使用

url 提交网络地址(全程 前端需协议名 后端需端口 http:/192.168.1.1:80)

timeout 超时时间设置

函数返回对象有三个额外的方法

geturl() 返回response的url信息

常用与url重定向info()返回response的基本信息

getcode()返回response的状态代码

示例:

#coding:utf-8
import urllib.request
import time
import platform


#清屏函数(无关紧要 可以不写)
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)
    except urllib.URLError:
        print(u'网络地址错误')
        exit()
    with open('/home/ifeng/PycharmProjects/pachong/study/baidu.txt','w') as fp:
        response = urllib.request.urlopen(url,timeout=3)
        fp.write(response.read())
    print(u'获取url信息,response.geturl()\n:%s'%response.getrul())
    print(u'获取返回代码,response.getcode()\n:%s' % response.getcode())
    print(u'获取返回信息,response.info()\n:%s' % response.info())
    print(u"获取的网页信息经存与baidu.txt")


if __name__ =='main':
    linkbaidu()

Python标准库–logging模块

logging模块能够代替print函数的功能,将标准输出到日志文件保存起来,利用loggin模块可以部分替代debug

re模块

正则表达式

sys模块

系统相关模块

sys.argv(返回一个列表,包含所有的命令行)

sys.exit(退出程序)

Scrapy框架

urllib和re配合使用已经太落后,现在主流的是Scrapy框架

关于python爬虫常用的模块就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


分享标题:python爬虫常用模块有哪些
文章起源:http://dzwzjz.com/article/jhigco.html
在线咨询
服务热线
服务热线:028-86922220
TOP