基于beautifulSoup进行电影网站排名的获取与格式化输出
要求
编写代码完成以下任务:
① 将地址"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进行电影网站排名的获取与格式化输出的更多相关文章
- 基于ssm的电影售票选座管理系统基于Java的电影网站的网页设计与制作源码
注意:此项目只截图部分功能,可评论区咨询查看项目全部功能演示! 1.开发环境 开发语言: 后台框架:SSM(Spring+SpringMVC+Mybatis) 前端技术:HTML+CSS+JavaSc ...
- 基于visual Studio2013解决C语言竞赛题之0203格式化输出
题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { // print是输出函数,参数%s表示输 ...
- 基于Spark的电影推荐系统(电影网站)
第一部分-电影网站: 软件架构: SpringBoot+Mybatis+JSP 项目描述:主要实现电影网站的展现 和 用户的所有动作的地方 技术选型: 技术 名称 官网 Spring Boot 容器 ...
- 使用express4.X + jade + mongoose + underscore搭建个人电影网站
(-。-;), 周末过得真是快啊, 很久以前就看到imooc上有个搭建个人电影网站一期 ,二期的视频, 这两周宅家里撸玩没事干, 我也学着搭了一个, 这些东西都是基础, 只要花点时间很好学的, no ...
- 演练2-4:CodeFirst实例之“电影网站制作”
原文出处:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-model EntityFr ...
- Node.js 蚕食计划(四)—— Express + SQL Server 搭建电影网站
前段时间在慕课网上看了 scott 大神的<node+mongodb建站攻略>课程,按照自己的思路做了一遍,发博客记录一下 一.项目介绍 这个项目是一个简单的电影网站,由首页.详情页.评论 ...
- 基于pytorch的电影推荐系统
本文介绍一个基于pytorch的电影推荐系统. 代码移植自https://github.com/chengstone/movie_recommender. 原作者用了tf1.0实现了这个基于movie ...
- 基于js-spark-md5前端js类库,快速获取文件Md5值
js-spark-md5是歪果仁开发的东西,有点多,但是我们只要一个js文件即可,具体类包我存在自己的oschina上,下载地址:https://git.oschina.net/jianqingwan ...
- 利用Python爬取电影网站
#!/usr/bin/env python #coding = utf-8 ''' 本爬虫是用来爬取6V电影网站上的电影资源的一个小脚本程序,爬取到的电影链接会通过网页的形式显示出来 ''' impo ...
随机推荐
- array_map
<?php //对数组中的每个元素做函数处理 $arr = array(,,,,,); function cheng($hah){ ; } var_dump(array_map('cheng', ...
- 【prometheus抓取间隔】scrape_interval
prometheus如何设置比较合理: https://www.robustperception.io/keep-it-simple-scrape_interval-id 总结:一般设置在10s-60 ...
- 【error】OutOfRangeError (see above for traceback): RandomShuffleQueue
前言 在使用tensorflow TFRecord的过程中,读取*.tfrecord文件时出现错误,本文解决这个错误. 错误描述: OutOfRangeError (see above , curre ...
- javascript bom操作
BOM BOM介绍 全称 Browser Object Mode 浏览器对象模式 操作浏览器的API接口.比如浏览器自动滚动 Windows对象的顶层部分是BOM的顶层(核心)对象,所有的对象都是通过 ...
- HTTP权威指南-报文与状态码
所有的报文都向下流动 报文流向 报文组成 HTTP方法 状态码 GET示例 HEAD示例 100~199 信息性状态码 200~299 成功状态码 300~399重定向状态码 400~499 客户端错 ...
- Gulp-构建工具 相关内容整理
Gulp- 简介 Automate and enhance your workflow | 用自动化构建工具增强你的工作流程 Gulp 是什么? gulp是前端开发过程中一种基于流的代码构建工具,是自 ...
- yzoj 2377 颂芬梭哈 题解
题意 Alice 和 Mukyu 最近偶然得到了一本写有一种叫做梭哈的扑克游戏的规则的说明书(名为<C████████nd>,中间部分被涂掉了),据其所述,梭哈是一种使用黑桃.红心.梅花. ...
- 织梦/dedecms采集怎么去除a标签
dedecms采集去除a标签代码 DedeCMS采集规则-过滤-替换-技巧2009-01-14 15:491.采集去除链接[Copy to clipboard]CODE:{dede:trim}]*)& ...
- Appscan 的安装与使用
一.安装 1.右键安装文件,以管理员身份运行,如下图所示: 2.点击[确定] 3.点击[安装] 4.选择:我接受许可协议中单位全部条款,点击[下一步] 5.点击[安装]到该目录 6.如果需求扫描Web ...
- 利用Python进行数据分析 第7章 数据清洗和准备(1)
学习时间:2019/10/25 周五晚上22点半开始. 学习目标:Page188-Page217,共30页,目标6天学完,每天5页,预期1029学完. 实际反馈:集中学习1.5小时,学习6页:集中学习 ...