引言

  • 今天继续是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.requesturlretrieve()来下载图片的,但是发现urllib无法处理https,而且编译安装python之前没有编译安装类似于openssl这样的SSL库,所以导致python不支持SSL,网上大多是针对Linux的解决方法,对于windows我尝试按照使用pythonssl库但是也没能解决,遂选择了直接保存文件,即上述代码中示例

最新文章

  1. nginx+webpy配置
  2. 15.用PHP写出显示客户端IP与服务器IP的代码,如何防止用户使用代理的情况?[添加更多详情]
  3. JSTL 标签库 使用
  4. c++面试(二)
  5. Ajax原生XHR对象
  6. android 关于多任务下载问题
  7. jQuery格式化时间插件formatDate
  8. 公司需求知识自学-Oracle的Package的作用及用法
  9. Python+Selenium安装及环境配置
  10. API token for Github
  11. Docker 移除镜像
  12. LeetCode 171 Excel Sheet Column Number 解题报告
  13. java第三章笔记
  14. 第一册:lesson5-6.
  15. MYSQL常用函数(格式化函数)
  16. 响应式图片 (responsive image)
  17. C#中常用的单词
  18. [JSP] c:forEach 如何输出序号
  19. Beta版本冲刺(二)
  20. python pandas 豆瓣电影 top250 数据分析

热门文章

  1. RF(页面断言)
  2. Jmeter系列(8)- test plam测试计划参数详解
  3. docker overlay network
  4. Dubbo(六):zookeeper注册中心的应用
  5. jdbc连接mysql数据库 (idea)
  6. oracle如何实现去重和分页
  7. Coursera课程笔记----计算导论与C语言基础----Week 7
  8. 心路历程-安装Docker
  9. STM32 Cube之旅-尝试新的开发方式
  10. java 多线程详细笔记(原理理解到全部使用)