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视图函数中的request方法详解

在Flask的官方文档中是这样介绍request的:对于Web应用,与客户端发送给服务器的数据交互至关重要。在Flask中由全局的request对象来提供这些信息。从Flask模块导入request:fromflaskimportrequestrequest的属性:下面是request可使用的属性。Request属相属性名解释form 一个从POST和PUT请求解析的MultiDict(一键多值字典)。argsMultiDict,要操作URL(如?key=value)中提交的参数可以使用args属性:search...

阅读全文

Flask中使用logging模块记录日志

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

阅读全文

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生成下载文件方法send_from_directory的使用方法

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

阅读全文

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

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

阅读全文

python递归介绍

巩固下python基础知识,给大家介绍下递归并配上自己的例子,百度看别人说的很好,递归的概念和特点介绍等等就直接copy过来了递归算法是一种直接或间接调用自身算法的过程,在计算机编程中,递归算法对解决一大类问题是十分,它往往使算法的描述简洁而且易于理解。递归算法解决问题的特点:1.递归就是在过程或函数里调用自身2.在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。3.递归算法解题通常显得很简洁,但递归算法解题的运行效率较低,所以一般不提倡用递归算法设计程序。4.在递归调用的过程中系统为每一层的返回点、局部量等开辟了栈来存储,递归次数过多容易造...

阅读全文