# 深圳杯D题爬取电视收视率排行榜
深圳杯D题爬取电视收视率排行榜
站点分析
http://www.tvtv.hk/archives/category/tv
每天的排行版通过静态页面发布,先获取每天的排行榜链接,再进一步从链接里面获取数据

每天前10的信息发布在p标签内,存储的时候空格拆分一下

代码实现
获取每一页的静态链接
url = 'http://www.tvtv.hk/archives/category/tv/page/'
# 获取每一个网页的静态页面
for i in range(1, 100):
href = {}
print('正在爬取第' + str(i) + '页')
print(url + str(i))
doc = pq(url + str(i))
sp = doc('.status-publish')
for s in sp.items():
ha = s.find('h2 a')
href[ha.attr('title')] = ha.attr('href')
with open('TV链接列表.csv', 'a') as f:
for key in href.keys():
if key.find('榜') > 0:
f.write(key + ',' + href[key] + '\n')
从每天的静态页面中获取前十的数据
# 从每一个静态页面中获取数据
out = open('TV收视率.csv', 'w', encoding='utf-8')
with open('TV链接列表.csv', 'r') as f:
for line in f:
print(line)
strs = line.split(',')
out.write(strs[0])
doc = pq(strs[1])
p = doc.find('p:nth-child(1)').text().strip()
ps = p.split(' ')
count = 0
for item in ps:
count = count + 1
if count <= 3:
continue
j = 0
while '0' <= item[j] <= '9':
j = j + 1
out.write(',' + item[j:])
out.write('\n')
运行结果


完整代码获取:https://github.com/sstealer/WebSpider/tree/master。 感觉有帮助的话可以GitHub点个赞哦
# 深圳杯D题爬取电视收视率排行榜的更多相关文章
- 【个人】爬虫实践,利用xpath方式爬取数据之爬取虾米音乐排行榜
实验网站:虾米音乐排行榜 网站地址:http://www.xiami.com/chart 难度系数:★☆☆☆☆ 依赖库:request.lxml的etree (安装lxml:pip install ...
- python爬取b站排行榜
爬取b站排行榜并存到mysql中 目的 b站是我平时看得最多的一个网站,最近接到了一个爬虫的课设.首先要选择一个网站,并对其进行爬取,最后将该网站的数据存储并使其可视化. 网站的结构 目标网站:bil ...
- Python爬虫使用lxml模块爬取豆瓣读书排行榜并分析
上次使用了BeautifulSoup库爬取电影排行榜,爬取相对来说有点麻烦,爬取的速度也较慢.本次使用的lxml库,我个人是最喜欢的,爬取的语法很简单,爬取速度也快. 本次爬取的豆瓣书籍排行榜的首页地 ...
- Python爬取猫眼top100排行榜数据【含多线程】
# -*- coding: utf-8 -*- import requests from multiprocessing import Pool from requests.exceptions im ...
- 爬虫--requests爬取猫眼电影排行榜
'''目标:使用requests分页爬取猫眼电影中榜单栏目中TOP100榜的所有电影信息,并将信息写入文件URL地址:http://maoyan.com/board/4 其中参数offset表示其实条 ...
- scrapy爬取猫眼电影排行榜
做爬虫的人,一定离不开的一个框架就是scrapy框架,写小项目的时候可以用requests模块就能得到结果,但是当爬取的数据量大的时候,就一定要用到框架. 下面先练练手,用scrapy写一个爬取猫眼电 ...
- 使用xpath爬取猫眼电影排行榜
最近在学习xpath,在网上找资料的时候,发现一个新手经常拿来练手的项目,爬取猫眼电影前一百名排行的信息,很多都是跟崔庆才的很雷同,基本照抄.这里就用xpath自己写了一个程序,同样也是爬取猫眼电影, ...
- 记录python爬取猫眼票房排行榜(带stonefont字体网页),保存到text文件,csv文件和MongoDB数据库中
猫眼票房排行榜页面显示如下: 注意右边的票房数据显示,爬下来的数据是这样显示的: 网页源代码中是这样显示的: 这是因为网页中使用了某种字体的缘故,分析源代码可知: 亲测可行: 代码中获取的是国内票房榜 ...
- python3爬虫-爬取B站排行榜信息
import requests, re, time, os category_dic = { "all": "全站榜", "origin": ...
随机推荐
- 深度学习笔记(十一)网络 Inception, Xception, MobileNet, ShuffeNet, ResNeXt, SqueezeNet, EfficientNet, MixConv
1. Abstract 本文旨在简单介绍下各种轻量级网络,纳尼?!好吧,不限于轻量级 2. Introduction 2.1 Inception 在最初的版本 Inception/GoogleNet, ...
- return返回方法值:狮子玩具
public class Lion { String color ="黄色"; public void run(){ System.out.println("正在以0.1 ...
- 微信小程序_(校园视)开发视频的展示页_上
微信小程序_(校园视) 开发用户注册登陆 传送门 微信小程序_(校园视) 开发上传视频业务 传送门 微信小程序_(校园视) 开发视频的展示页-上 传送门 微信小程序_(校园视) 开发视频的展示页-下 ...
- hadoop yarn日志分离
根据hdfs的auditlog以及fsimage分析,yarn的日志文件占用了10%-20%的rpc请求以及文件量,这对namenode的性能有比较大的影响,特别是当集群规模越来越大,会影响生产业务. ...
- Tree-based Model 如何处理categorical variable
categorical variable 分为 order variale 和 non-order variable,其中order variable直接使用sklearn.preprocess.La ...
- BZOJ1718分离的路径
边双题. 求的就是最少加几条边可以使一个图变成边双联通图. 首先tarjan求一下边双,缩完点变成一颗树,统计度数为1的点(无根树的叶子),把这个数算出来,设为x,则ans=(x+1)/2. 这个可以 ...
- C++入门经典-例7.1-对象之访问类成员
1:建立一个类CPerson. (1)在person.h文件中代码: class CPerson { public: //数据成员 int m_iIndex; ]; short m_shAge; do ...
- Linux 如何查看端口与进程占用情况
1 lsof -i:port 查看端口使用情况 lsof -i 如果出现 command not found,直接yum install lsof即可. (1) lsof -i lsof -i 用以 ...
- ANTLR4将JSON翻译成XML
实现功能:构建一个JSON到XML的翻译器. antlr4文件: grammar JSON; json : object | array ; object : '{' pair (',' pair)* ...
- 浏览器是如何处理页面元素的Download?
首先,浏览器对于script的下载是避免并行进行的.HTTP/1.1协议中规定浏览器和同一host之间只建立最多两个连接,也就是说允许的最 大并行度为2(当然,对IE和Firefox来说,你都可以通过 ...