基于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 ...
随机推荐
- redis和memcache对比
1.性能方面:没有必要过多的关心性能,因为二者的性能都已经足够高了.由于Redis只使用单核,而Memcached可以使用多核,所以在比较上,平均每一个核上Redis在存储小数据时比Memcached ...
- redis cluster环境搭建
环境搭建 http://blog.51cto.com/zhoushouby/1560400 http://hot66hot.iteye.com/blog/2050676 ruby环境安装---ruby ...
- 09点睛Spring4.1-AOP
9.1 AOP AOP可以了让一组类共享相同的行为.在OOP中只能通过继承类和实现接口,这样使代码的耦合度增强,且类继承只能为单继承,阻碍更多行为添加到一组类上; 下面演示一个日志系统的实现,简单但不 ...
- 【ARTS】01_42_左耳听风-201900826~201900901
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- AI - TensorFlow - 示例04:过拟合与欠拟合
过拟合与欠拟合(Overfitting and underfitting) 官网示例:https://www.tensorflow.org/tutorials/keras/overfit_and_un ...
- Sublime Text3安装及常用插件安装
为了使用强大好用的代码编辑器来进行selenium3+Python3的自动化测试. 使用Sublime Text 3非常适合. 1.下载安装 首先到http://www.sublimetext.com ...
- 用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识1
什么是REST REST 是 Representational State Transfer 的缩写. 它是一种架构的风格, 这种风格基于一套预定义的规则, 这些规则描述了网络资源是如何定义和寻址的. ...
- 基于libuv的TCP设计(二)
一.本人设想的TCP服务器有如下特性: 1.启动服务,一直监听端口. 2.有新连接(客户端)就通知用户.并把连接接收到的数据回调给用户. 3.客户端连接上后用户可在任意时间发送数据给它. 4.客户端断 ...
- C# 基于Directshow.Net lib库 USB摄像头使用DirectShow.NET获取摄像头视频流
https://blog.csdn.net/u010118312/article/details/91766787 https://download.csdn.net/download/u010118 ...
- 为nologin用户开一个terminal
昨天,我在设置zabbix-agent的时候,发现agent机器上的zabbix用户并不能读取某文件信息.我就想跳到zabbix用户,后来失败,发现在/etc/passwd中,zabbix被设置为 z ...