Python 每日一练(4)
引言
- 今天继续是python每日一练的几个专题,主要涵盖简单的敏感词识别以及图片爬虫
敏感词识别
- 这个敏感词的识别写的感觉比较简单,总的概括之后感觉功能可以简略成
if filter_words in xxx
,即一个简单的匹配 - 不过这次练习又学到一句比较好的语句,之前我构造类似敏感此种这种列表时,通常的操作都是先将文本复制进
notepad++
,然后手动修饰成符合的列表样式
但现在我们可以这样做,就能简单的完成这个操作了。
with open('C:/Users/xxx/Desktop/filter_words.txt','r',encoding='utf-8') as f:
filter_words = [line.rstrip() for line in f] #处理那些一行就只有一个数据的文件时,就可以这样将每一行右侧空白符删除后写入列表
- 这次练习代码示例:
# -*- coding:utf-8 -*-
# Author:Konmu
# 第 0011 题: 敏感词文本文件 filtered_words.txt,里面的内容为以下内容,
# 当用户输入敏感词语时,则打印出 Freedom,否则打印出 Human Rights。
# 第 0012 题: 敏感词文本文件 filtered_words.txt,里面的内容 和 0011题一样,
#当用户输入敏感词语,则用 星号 * 替换,
# 例如当用户输入「北京是个好城市」,则变成「**是个好城市」。
with open('C:/Users/xxx/Desktop/filter_words.txt','r',encoding='utf-8') as f:
filter_words = [line.rstrip() for line in f]
def client_Input():
input_word = input("please input what you want to say:")
for i in filter_words:
if i in input_word:
print("Freedom")
new_word = input_word.replace(i,'*'*len(i))
return(new_word)
return('Human Rights')
if __name__ == "__main__":
print(client_Input())
- 最终效果
图片爬虫
- 这个练习可以说是宅男福利了,手动滑稽(/ω\)
- 先看一下最终效果
- 不得不说,好久不写图片类型的爬虫了,这次练习才发现有好多地方又忘了,看来还是要多加练习
- 思路分析:大体的流程就是爬虫常规写法了,先将整个网站的源码下载下来,然后在匹配图片链接,最后下载即可
- 代码示例如下:
# -*- coding:utf-8 -*-
# Author:Konmu
# 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-)
import requests
import re
url='https://tieba.baidu.com/p/2166231880?red_tag=0872956249'
session=requests.session()
#context=ssl._create_unverified_context()
html=session.get(url).content.decode('utf-8')
pattern=r'<img pic_type="0" class="BDE_Image" src=(.*?) .*?>'
img_url=re.findall(pattern,html)
#print(img_url)
x=0
for i in img_url:
i=i.replace('"','')
photo = requests.get(i)
with open('D:/py_tu/output{}.jpg'.format(x),'ab') as f:
f.write(photo.content)
x+=1
print("图片开始下载,注意查看文件夹")
- 注:一开始我是想用
urllib.request
的urlretrieve()
来下载图片的,但是发现urllib
无法处理https
,而且编译安装python
之前没有编译安装类似于openssl
这样的SSL
库,所以导致python
不支持SSL
,网上大多是针对Linux
的解决方法,对于windows
我尝试按照使用python
的ssl
库但是也没能解决,遂选择了直接保存文件,即上述代码中示例
Python 每日一练(4)的更多相关文章
- python每日一练:0007题
第 0007 题: 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. # -*- coding:utf-8 -*- import os def count ...
- [python每日一练]--0012:敏感词过滤 type2
题目链接:https://github.com/Show-Me-the-Code/show-me-the-code代码github链接:https://github.com/wjsaya/python ...
- Python 每日一练 | Flask 实现半成品留言板
留言板Flask实现 引言 看了几天网上的代码,终于写出来一个半成品的Flask的留言板项目,为什么说是半成品呢?因为没能实现留言板那种及时评论刷新的效果,可能还是在重定向上有问题 或者渲染写的存在问 ...
- Python 每日一练(5)
引言 Python每日一练又开始啦,今天的专题和Excel有关,主要是实现将txt文本中数据写入到Excel中,说来也巧,今天刚好学校要更新各团支部的人员信息,就借此直接把事情做了 主要对于三种数据类 ...
- Python 每日一练(3)
引言 今天的每日一练,学习了一下用Python生成四位的图像验证码,就是我们常常在登录时见到的那种(#`O′) 思路分析 正如常见的那种图像验证码,它是由数字和字母的随机组合产生的,所以我们首先的第一 ...
- Python每日一练(1)
这两天在做Python的每日一练,感觉收获颇丰,所以来记录分享一下,一共做了三个,涉及socket,PIL,pymysql三个库,另外终于开始了Flask框架的学习,后续也会做出一些分析 第一个是一个 ...
- Python 每日一练(2)
引言 我又双叒叕的来啦,新博客的第二篇文章,这次是继之前公众号上每日一练的第二个,这次是专题实对于文件的一些处理的练习 主要有以下几类: 1.实现英文文章字频统计 2.统一剪裁某一指定目录下的所有图片 ...
- Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词
#coding:utf-8 import os,re path = 'test' files = os.listdir(path) def count_word(words): dic = {} ma ...
- Python 每日一练(7)
引言 今天的练习比较轻松,原本是有两题的,但是第一题那个大致看了一下,其实和之前的6个练习差不多,就是把xls中的文件数据读取出来后,进行一下处理,对于那题而言就是一个求和操作,所以就没练了,所以今天 ...
随机推荐
- 谷歌OKR指导手册 (译)
这是一本关于 OKR 迷你小册子,名为<google OKR playbook>,由 www.whatMatters.com 网站发布. 该网站由John Doerr 团队经营, 而Joh ...
- tomcat8调优
a. tomcat的运行原理: 1. Tomcat是运行在JVM中的一个进程.它定义为[中间件],顾名思义,是一个在Java项目与JVM之间的中间容器. 2. Web项目的本质,是一大堆的资源文件和方 ...
- 虚拟机上图片服务器搭建(FastDFS+nginx)
文件服务器 0.提前建好需要的文件夹(/home/fastdfs) /home/fastdfs/tracker /home/fastdfs/storage /home/fastdfs/storage/ ...
- Jmeter系列(9)- jmeter插件入门篇
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 jmeter4.0以上,如现在最 ...
- Java——Spring依赖配置详解
<properties> <junit.version>4.12</junit.version> <spring.version>4.3.9.RELEA ...
- spring mvc 中使用session
举例:用户登录成功之后,把用户对象放置到session中 第一步,用户登录成功之后把用户对象首先放到Model中 第二步,要在控制器上加SessionAttributes注解,把放到model中的对象 ...
- CC2530通用IO口的输入输出
一.引脚概述 CC2530有40 个引脚.其中,有21个数字I/O端口,其中P0和P1是8 位端口,P2仅有5位可以使用.P2端口的5个引脚中,有2个需要用作仿真,有2个需要用作晶振.所以可供我们使用 ...
- Appium+Python-项目实践一
一.前言 前面讲了环境搭建和常用的元素定位,后续会持续以项目实践的方式去慢慢学习以及整理各方面的知识点,具体不会详细阐述,但会贴上完整代码,想要了 ...
- 【Scala】通过简洁代码搞明白伴生关系、主构造器和辅助构造器的关系
/** * 主构造器直接定义在类名称的后面,参数列表和类名写在一起 * 主构造器的参数会自动提升为对象的属性,不需要在对象中重新定义一遍 */ class Student(val id: Int, n ...
- AXI总线slave模式下接收数据---verilog代码
AXI总线slave模式下接收数据---verilog代码 `timescale 1ns / 1ps ///////////////////////////////////////////////// ...