python使用pyquery解析html网页

喜欢用jq写前端的python开发工程师建议使用这个html解析库,因为这个工具使用起来基本就和jquery是一样的,所以可以可以直接上手开始进行开发我也经常用jquery,所以这里直接列下基础用法,看下就明白了#!/usr/bin/python3#coding:utf-8from pyquery import PyQueryimport requestshtml = requests.get("http://sulao.cn/post/641.html"...

阅读全文

python解析html工具Beautiful Soup用法

昨天学习了下解析html结构的新工具requests-html,今天把以前使用的相关解析html的模块工具进行梳理记录下BeautifulSoup是python的一个库,最主要的功能是从网页抓取数据。 BeautifulSoup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。 BeautifulSoup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。如...

阅读全文

python3新的html解析工具requests_html用法简单介绍

使用Python开发的同学一定听说过Requsts库,它是一个用于发送HTTP请求的测试。如比我们用Python做基于HTTP协议的接口测试,那么一定会首选Requsts,因为它即简单又强大。现在作者KennethReitz又开发了requests-html用于做爬虫。我们直接使用pip进行安装即可pip install requests_html然后直接可以开始学习了from requests_html import HTMLsessionsession = HTMLses...

阅读全文

Flask中主动抛出异常,统一异常处理

在开发时,后台出现异常,但不想把异常显示给用户或者要统一处理异常时,可以使用abort主动抛出异常,再捕获异常返回美化后的页面。主动抛出异常:@user.route('/testError')def testError():    print ('testError')    abort(404)使用装饰器errorhandler捕获异常:@user.errorhandler(404)def er...

阅读全文

Flask中使用logging模块记录日志

之前有写一个logging模块的使用方法的笔记:http://sulao.cn/post/615.html,其实在flask中也是使用的这个模块,我们一起来看看简单的使用方法#!/usr/bin/python3#coding:utf-8from flask import Flask,requestimport loggingapp = Flask(__name__)@app.route('/')def index(): &nbs...

阅读全文

Python3之shutil模块

shutil是高级的文件,文件夹,压缩包处理模块,我们来看看有哪些使用方法1.拷贝文件内容到另外一个文件shutil.copyfileobj(fsrc, fdst[, length])import shutilshutil.copyfileobj(open('test.txt', 'r', encoding='utf-8'), open('test.log', 'w', encoding...

阅读全文

Python startswith函数与endswith函数使用介绍

函数:startswith()作用:判断字符串是否以指定字符或子字符串开头一、函数说明语法:string.startswith(str, beg=0,end=len(string))或string[beg:end].startswith(str)参数说明:string:  被检测的字符串str:      指定的字符或者子字符串。(可以使用元组,会逐一匹配)beg:    设置字符串检测的起始位置(可选)e...

阅读全文

Python查找目录下指定类型后缀的文件

常用的小功能,收集目录下的图片,并将图片转成base64对象具体代码如下:#!/usr/bin/python3#coding:utf-8import osimport base64def file_list(path):    files = []    d = os.walk(path)    for parent,&nbs...

阅读全文

Flask生成下载文件

最近遇到一个需求,就是要生成csv或者是excel,然后提供下载,当时不是提前就备好了下载列表,而是需要根据需求来生成,之前也写过一个类似的php的笔记:http://sulao.cn/post/399.html好了,我们还是来看看flask的下载文件是如何实现的1.通过send_from_directory方法返回真实的文件from flask import Flask,request,send_from_directoryimport csvimport json@tools.route...

阅读全文

Python异步IO(协程)asyncio使用介绍

通常在Python中我们进行并发编程一般都是使用多线程或者多进程来实现的,对于计算型任务由于GIL的存在我们通常使用多进程来实现,而对与IO型任务我们可以通过线程调度来让线程在执行IO任务时让出GIL,从而实现表面上的并发。其实对于IO型任务我们还有一种选择就是协程,协程是运行在单线程当中的“并发”,协程相比多线程一大优势就是省去了多线程之间的切换开销,获得了更大的运行效率。Python中的asyncio也是基于协程来进行实现的。我们先来看如何创建协程和task任务import asyncioasync def te...

阅读全文