要求

编写代码完成以下任务:

① 将地址"http://www.cbooo.cn/year?year=2019"源代码使用任意方法保存到指定文件中(文件类型不限)。

② 使用文件流读取该页面内容到程序中

③ 使用Python以任意方法提取出页面中的电影排名与电影名,并以如下形式打印输出

输出格式为:第*名-《***》

代码

import urllib.request
from bs4 import BeautifulSoup
import os # 1、获取详细的页面数据
def get_html_link(link,outHtml):
#如果超链接非空
if link is not None:
#请求超链接页面HTML
link_list=urllib.request.urlopen(link).read()
# 将内容写到文件中去
with open(outHtml,"w") as f:
f.write(link_list.decode('utf-8'))
# 从文件中读取内容
fullPath = "file:///"+os.getcwd()+"/"+outHtml
link_list2 = urllib.request.urlopen(fullPath).read()
# 格式化HTML
soup=BeautifulSoup(link_list2,'lxml')
# 获取class='one'的标签
content=soup.find_all('td',class_='one')
for tag in content:
tdlist = tag.find_all('a')
# 通过字符串支持的查找操作对目标进行查找。目标字符串如下图所示。
"""
[<a class="active" href="http://www.cbooo.cn/m/642412" title="流浪地球">
<img alt="流浪地球" onerror="this.src='../../Content/images/nopic.jpg'"
src="http://images.entgroup.cn/group1/M00/00/AB/wKgASVzny4uAEWvcAABfH3c7ZxA728.jpg"/>
<p><span>1.</span>流浪地球</p></a>]
"""
pos = str(tdlist).find('title')
posEnd = str(tdlist).find('"',pos+8)
tmp = str(tdlist)[pos+7:posEnd]
yield tmp
else:
print("网页链接有问题,请重试") # 2、数据保存
def save_suject(title_content):
# 将输出输出到文件中
with open('output.txt','w+',encoding='utf-8') as f:
cnt = 1
for tile in title_content:
f.write(tile+'\n')
print("第%d名-《%s》" % (cnt,tile))
cnt += 1 # 3、函数回调
def fun_call(url,out):
title_content=get_html_link(url,out)
save_suject(title_content) if __name__=='__main__':
url='http://www.cbooo.cn/year?year=2019'
outHtml = "out.html"
fun_call(url,outHtml)

基于beautifulSoup进行电影网站排名的获取与格式化输出的更多相关文章

  1. 基于ssm的电影售票选座管理系统基于Java的电影网站的网页设计与制作源码

    注意:此项目只截图部分功能,可评论区咨询查看项目全部功能演示! 1.开发环境 开发语言: 后台框架:SSM(Spring+SpringMVC+Mybatis) 前端技术:HTML+CSS+JavaSc ...

  2. 基于visual Studio2013解决C语言竞赛题之0203格式化输出

     题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { // print是输出函数,参数%s表示输 ...

  3. 基于Spark的电影推荐系统(电影网站)

    第一部分-电影网站: 软件架构: SpringBoot+Mybatis+JSP 项目描述:主要实现电影网站的展现 和 用户的所有动作的地方 技术选型: 技术 名称 官网 Spring Boot 容器 ...

  4. 使用express4.X + jade + mongoose + underscore搭建个人电影网站

    (-。-;), 周末过得真是快啊,  很久以前就看到imooc上有个搭建个人电影网站一期 ,二期的视频, 这两周宅家里撸玩没事干, 我也学着搭了一个, 这些东西都是基础, 只要花点时间很好学的, no ...

  5. 演练2-4:CodeFirst实例之“电影网站制作”

    原文出处:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-model EntityFr ...

  6. Node.js 蚕食计划(四)—— Express + SQL Server 搭建电影网站

    前段时间在慕课网上看了 scott 大神的<node+mongodb建站攻略>课程,按照自己的思路做了一遍,发博客记录一下 一.项目介绍 这个项目是一个简单的电影网站,由首页.详情页.评论 ...

  7. 基于pytorch的电影推荐系统

    本文介绍一个基于pytorch的电影推荐系统. 代码移植自https://github.com/chengstone/movie_recommender. 原作者用了tf1.0实现了这个基于movie ...

  8. 基于js-spark-md5前端js类库,快速获取文件Md5值

    js-spark-md5是歪果仁开发的东西,有点多,但是我们只要一个js文件即可,具体类包我存在自己的oschina上,下载地址:https://git.oschina.net/jianqingwan ...

  9. 利用Python爬取电影网站

    #!/usr/bin/env python #coding = utf-8 ''' 本爬虫是用来爬取6V电影网站上的电影资源的一个小脚本程序,爬取到的电影链接会通过网页的形式显示出来 ''' impo ...

随机推荐

  1. iOS 多线程的简单理解(4) 线程锁的简单使用

    要用到多线程 ,就不得不考虑,线程之间的交互,线程是否安全 推荐一个原文链接 是关于 线程锁的基本使用的  http://blog.csdn.net/qq_30513483/article/detai ...

  2. 漏洞复现之Redis-rce

    通过主从复制 GetShell Redis主从复制 Redis是一个使用ANSI C编写的开源.支持网络.基于内存.可选持久性的键值对存储数据库.但如果当把数据存储在单个Redis的实例中,当读写体量 ...

  3. windows添加“以管理员身份运行”

    方法: 新建一个txt文件,命名为"admin.txt",记得打开"显示后缀名",要求看到.txt并可修改之. 将下列代码粘贴进去. Windows Regis ...

  4. HBase 与 MapReduce 集成

    6. HBase 与 MapReduce 集成 6.1 官方 HBase 与 MapReduce 集成 查看 HBase 的 MapReduce 任务的执行:bin/hbase mapredcp; 环 ...

  5. 解决Ubuntu14.04不能打正确拼音--无法选择第二个拼音

    这时候 我们回到桌面 按"ctrl"+"Alt"+"T",打开系统终端,在终端里面输入ibus-daemon -drx并回车 Ref: ht ...

  6. 035 Android 广播(BroadCastReceiver)

    1.介绍 2.实现方法 3.注册广播 (1)静态广播 在AndroidManifest.xml文件中注册广播 <intent-filter>为过滤器 <receiver androi ...

  7. 【转帖】2019年中国5G行业细分市场发展现状和市场前景分析 通信基站数量快速增长

    2019年中国5G行业细分市场发展现状和市场前景分析 通信基站数量快速增长 中国有 600多万个基站 平均每200个人 一个基站.. 一个基站十万块钱的话 相当于 每个人 需要分摊 500块钱. ht ...

  8. 剑指offer54:字符流中第一个不重复的字符

    1 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中 ...

  9. Django使用指南

    一.安装Django 1.命令行安装 pip3 install django(默认安装最新稳定版本) pip3 install django==版本号(指定版本安装) 2.Pycharm安装 在Pyc ...

  10. L2范数归一化概念和优势

    1 归一化处理        归一化是一种数理统计中常用的数据预处理手段,在机器学习中归一化通常将数据向量每个维度的数据映射到(0,1)或(-1,1)之间的区间或者将数据向量的某个范数映射为1,归一化 ...