1、从图像网站下载

编写一个程序,访问图像共享网站,如 Flickr 或 Imgur,查找一个类型的照片,然后下载所有查询结果的图像。可以编写一个程序,访问任何具有查找功能的图像网站。

#-*-coding:utf-8-*-
import os
import requests
import bs4baseUrl = 'http://imgur.com'
dirName = 'image'
os.makedirs(dirName, exist_ok=True)
# 搜索参数
url = baseUrl + '/search/score?q=' + 'movie'
response = requests.get(url)
response.raise_for_status()
soup = bs4.BeautifulSoup(response.text, "html.parser")
imageUrls = soup.select(".image-list-link img")
if not imageUrls:print('Could not find image.')
else:for imageUrl in imageUrls:downloadUrl = imageUrl.get('src')print("Download image %s..." % downloadUrl)split = downloadUrl.split('/')fileName = os.path.basename(split[len(split) - 1])filePath = os.path.join(dirName, fileName)print("FilePath is  %s..." % filePath)if not os.path.exists(filePath):imageStream = requests.get('http:' + downloadUrl)imageStream.raise_for_status()imageFile = open(filePath, 'wb')for chunk in imageStream.iter_content(100000):imageFile.write(chunk)

2、2048游戏

2048 是一个简单的游戏,通过箭头向上、下、左、右移动滑块,让滑块合并。实际上,你可以通过一遍一遍的重复“上、右、下、左”模式,获得相当高的分数。编写一个程序,打开 https://gabrielecirulli.github.io/2048/上的游戏,不断发送上、右、下、左按键,自动玩游戏。

#-*-coding:utf-8-*-
from selenium import webdriver
from selenium.webdriver.common.keys import Keysbrowser = webdriver.Firefox()
url = 'https://gabrielecirulli.github.io/2048/'
browser.get(url)
game_elem = browser.find_element_by_class_name('game-container')
while True:retry_elem = browser.find_element_by_class_name('retry-button')# new gameif retry_elem.text == 'Try again':retry_elem.click()game_elem = browser.find_element_by_class_name('game-container')game_elem.send_keys(Keys.UP)game_elem.send_keys(Keys.RIGHT)game_elem.send_keys(Keys.DOWN)game_elem.send_keys(Keys.LEFT)

3、链接验证

编写一个程序,对给定的网页 URL,下载该页面所有链接的页面。程序应该标记出所有具有 404“Not Found”状态码的页面,将它们作为坏链接输出。

#-*-coding:utf-8-*-
import requests
import bs4url = 'http://ifeve.com/'
response = requests.get(url)
soup = bs4.BeautifulSoup(response.text, "html.parser")
a_list = soup.select('a')
for a in a_list:a_url = a.get('href')try:response = requests.get(a_url)if response.status_code == requests.codes.not_found:print("Page %s is broken link" % a_url)else:print("Page %s is other type link" % a_url)response.raise_for_status()except:print("Page %s is Error" % a_url)

python实践项目(十一)相关推荐

  1. python实践项目-shop

    python实践项目-shop 练习 文件打开/保存 cmd应用 prettytable 场景 使用CMD程序,实现商店管理 python3+pycharm 源码 getPicke.py 初始化PIC ...

  2. python实践项目(九)

    项目:将一个文件夹备份到一个 ZIP 文件 假定你正在做一个项目,它的文件保存在C:\AlsPythonBook 文件夹中.你担心工作会丢失, 所以希望为整个文件夹创建一个ZIP 文件, 作为&quo ...

  3. python实践项目(七)

    项目1:生成随机的测验试卷文件 假如你是一位地理老师,班上有35 名学生, 你希望进行美国各州首府的一个小测验.不妙的是,班里有几个坏蛋,你无法确信学生不会作弊.你希望随机调整问题的次序, 这样每份试 ...

  4. Python实践项目——LSB隐写术

    一.项目背景 1.隐写术 隐写术是一门关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容. 2.LSB 隐写术 LSB 隐写术是一种图像隐写术技 ...

  5. python实践项目(八)

    项目:将带有美国风格日期的文件改名为欧洲风格日期 假定你的老板用电子邮件发给你上千个文件,文件名包含美国风格的日期(MM-DD-YYYY),需要将它们改名为欧洲风格的日期(DD-MM-YYYY).手工 ...

  6. python实践项目(五)

    参考书目:<Python编程快速上手-让繁琐工作自动化>,下载地址:我是下载链接,请点击 练习1:口令保管箱 你可能在许多不同网站上拥有账号,每个账号使用相同的口令是个坏习惯.如果这些网站 ...

  7. python实践项目(四)

    练习1:好玩游戏的物品清单 你在创建一个好玩的视频游戏.用于对玩家物品清单建模的数据结构是一个字典.其中键是字符串,描述清单中的物品,值是一个整型值,说明玩家有多少该物品.例如,字典值{'rope': ...

  8. python实践项目(一)

    Collatz 序列:        要求1:编写一个名为 collatz()的函数,它有一个名为 number 的参数.如果参数是偶数,那么 collatz()就打印出 number // 2, 并 ...

  9. python实践项目(十)

    调试硬币抛掷 下面程序的意图是一个简单的硬币抛掷猜测游戏.玩家有两次猜测机会(这是一个简单的游戏).但是,程序中有一些缺陷.让程序运行几次,找出缺陷,使该程序能正确运行. import random ...

最新文章

  1. excel中使用CORREL函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations)、例如,计算两种商品销售额之间的3个月的滚动相关性
  2. hdu 2041:超级楼梯(水题,递归)
  3. 错误: libstdc++.so.6: cannot open shared object file: No such file or directory
  4. GraphQL入门之工程搭建
  5. pymysql(part4)--mysql存储图片信息
  6. 悬浮球不用权限_英山高效纤维球【多佳净水材料】
  7. UE3 后期处理编辑器用户指南
  8. Jquery easyUI datagrid载入复杂JSON数据方法
  9. VOS防盗打,防攻击的一些看法
  10. matlab求积分数值解,利用matlab求解数值积分
  11. java不解压获取压缩包(zip,rar)文件列表或文本文件内容
  12. jpg格式电脑怎么弄_jpg格式图片电脑怎么弄
  13. Manjaro Gnome Hidpi 缩放问题
  14. Android RecyclerView详解及实现瀑布流式布局
  15. java中的打印_java中使用打印的方法
  16. 用剥洋葱理解递归逆序输出单链表
  17. axure rp pro 9.0授权密钥
  18. PASCAL VOC数据集 生成train.txt、test.txt、tainval.txt、val.txt
  19. Linux驱动——LED驱动的编写与实验
  20. 做自媒体必备,16个高质量素材网站

热门文章

  1. 深入解析NAS设备的应用
  2. 量子计算机对未来影响,量子计算机和可控核聚变,哪一个对人类未来的影响更大?...
  3. word文字中的数字怎么自动变化_【天华学术】不会为毕业论文“美颜”,怎么办?...
  4. Springboot知识库系统答辩PPT模板
  5. 计算机毕业设计中用Java实现在线考试系统
  6. java 工程路径_java 项目的路径详情
  7. json apis and ajax,FreeCodeCamp - JSON APIs and Ajax
  8. 并注册烧写钩子 获取启动介质类型_鸿蒙OS开源代码精要解读之—— 系统服务框架子系统(服务启动)...
  9. C++函数参数的规则
  10. ES6入门之对象的扩展