获取豆瓣用户看过的电影名以及评分,短评,标签等
数据定向到mysql数据库中,并备份到本地文件
#/bin/bash# name: get_see_movies.sh
# version: 1.0
# ceateTime: 2018-08-12
# description: 输入豆瓣用户id,获取所有看过的电影以及评分,标签等,并存到数据库中
# author: mengyanhuangchao
# email: 406993906@qq.com# description: 判断输入参数是否合#INFO打印
info_log(){echo -e "[INFO]$1"
}#SUCCESS打印success_log(){echo -e "\033[32m[SUCCESS]\033[0m$1"
}#ERROR打印
error_log(){echo -e "\033[31m[ERROR]\033[0m$1"
}if [ $# -eq 1 ];thenif [ -n "$(echo $1| sed -n "/^[0-9]\+$/p")" ];theninfo_log "The user id you searched for is $1"elseerror_log "The user id must number"exit 1fi
elseerror_log "Usage: bash $0 162545416";exit 1
fi
movie_number=`curl -s https://movie.douban.com/people/$1/collect|egrep "看过的电影"|awk -F '(' '{print $2}' |awk -F ')' '{print $1}'|uniq`
user_name=`curl -s https://movie.douban.com/people/$1/collect|egrep "看过的电影"|awk -F '看过的电影' '{print $1}'|awk -F '>' '{print $2}'|tail -n1`
info_log "$user_name see $movie_number movies"
info_log 'Please wait a moment....'
for i in `seq 0 15 $movie_number`;docurl -s https://movie.douban.com/people/$1/collect?start=$i > htmlcat html |egrep "<em>"| egrep -v '= title'|awk -F '>' '{print $2}' |awk -F '<' '{print $1}'|awk -F ' ' '{print $1}' > movienamefor moviename in `cat moviename`;docat html| egrep -A13 "<em>$moviename" >test1rating=`cat test1|egrep 'rating' |awk -F 'rating' '{print $2}' |awk -F '-' '{print $1}'`date=`cat test1|egrep 'date' |awk -F '>' '{print $2}' |awk -F '<' '{print $1}'`comment=`cat test1|egrep 'comment' |awk -F '>' '{print $2}' |awk -F '<' '{print $1}'`tags=`cat test1|egrep 'tags' |awk -F '>' '{print $2}' |awk -F '<' '{print $1}'`echo -e "|$moviename |$date |$comment |$tags |$rating" >>movietablemysql -u root -padmin <<EOFuse moviebase;insert into movietable (moviename,date,comment,tags,rating) values ('$moviename','$date','$comment','$tags','$rating');
EOFdone
done
rm html moviename test1
success_log "all info save $PWD/movietable and mysql"
[root@test test]# bash get_see_movies.sh 162545416
[INFO]The user id you searched for is 162545416
[INFO]猫仔饭 see 169 movies
[INFO]Please wait a moment....
[SUCCESS]all info save /home/test/data1/mysql/test/movietable and mysql
mysql> SELECT * from movietable WHERE BINARY rating='5';
+-----------------------+------------+------------------------------------------+----------------------------------------------+--------+
| moviename | date | comment | tags | rating |
+-----------------------+------------+------------------------------------------+----------------------------------------------+--------+
| 飞屋环游记 | 2018-05-31 | | | 5 |
| 疯狂动物城 | 2018-05-31 | | | 5 |
| 忠犬八公物语 | 2018-05-31 | | | 5 |
| 机器人总动员 | 2018-04-12 | 没有见过光之前,黑暗可能还䟼 | 5 |
| 我们这一天 | 2018-02-28 | 最爱的剧,没有之一~ | | 5 |
| 熔炉 | 2018-02-12 | 拍出了生活最真实的样子。 | | 5 |
| 星际穿越 | 2018-02-09 | 和男朋友一起看的第一部电影 | 5 |
| 楚门的世界 | 2018-02-09 | “如果再也不能见到你,祝你䟼 标签: 人生 楚门的世界 经典 | 5 |
| 泰坦尼克号 | 2017-11-30 | 爱情! | | 5 |
| 阿甘正传 | 2017-11-30 | 坚持! | | 5 |
| 肖申克的救赎 | 2017-11-30 | 最爱! | 标签: 美国 | 5 |
| 大宋提刑官 | 2017-08-19 | 佳作。 | 标签: 古装 悬疑 大宋提刑官 推理 | 5 |
| 不能说的秘密 | 2017-08-06 | 好吧,看了知乎上某个回答后㟼 标签: 周杰伦 不能说的秘密 | 5 |
| 冰川时代 | 2017-07-02 | 很喜欢~ | 标签: 搞笑 经典 温情 | 5 |
| 这个杀手不太冷 | 2017-07-02 | 人生一直如此艰辛。 | 标签: 成长 | 5 |
| 霸王别姬 | 2017-07-02 | 声嘶力竭之后暴露的人性更让䟼 标签: 人性 哥哥 | 5 |
| 黑镜 | 2017-06-25 | | 标签: 英国 英剧 黑暗系 | 5 |
| 神探夏洛克 | 2017-06-25 | | 标签: 英剧 侦探 福尔摩斯 推理 | 5 |
+-----------------------+------------+------------------------------------------+----------------------------------------------+--------+
18 rows in set (0.00 sec)
已知bug:当一列中有两部相同的电影的时候获取元素会有问题,有时间在优化一下上述bug,再顺便写一下提供查找的方法
获取豆瓣用户看过的电影名以及评分,短评,标签等相关推荐
- 采集豆瓣“我看过的电影” 整合到wordpress_wordpress豆瓣插件
介绍 采集豆瓣"我看过的电影",整合到wordpress 本来想写一个wordpres插件,结果没有时间学加上懒,就没有写成插件 截图 演示地址 http://m.lookoro. ...
- python爬虫实战 获取豆瓣排名前250的电影信息--基于正则表达式
一.项目目标 爬取豆瓣TOP250电影的评分.评价人数.短评等信息,并在其保存在txt文件中,html解析方式基于正则表达式 二.确定页面内容 爬虫地址:https://movie.douban.co ...
- 爬取“豆瓣电影Top250”的电影排名、电影名和评分并写入文档
想要爬取豆瓣电影Top250的电影排名.电影名和评分并写入文档吗?其实很简单. 打开Pycharm 得到豆瓣电影Top250的网址: https://movie.douban.com/top250?s ...
- 爬虫,爬取猫眼电影Top100的电影名与评分
** 爬虫,爬取猫眼电影Top100的电影名与评分 ** import requests import threading import reclass maoyan_top500(threading ...
- python大规模获取豆瓣影评_Python 获取豆瓣用户电影收藏数据
通过豆瓣API获取用户的影评信息,存入到字典中格式为 {电影名:评分} # -*- coding: utf-8 -*- ''' Created on May 19, 2012 @author: Edi ...
- Golang实现并发版网络爬虫:豆瓣-电影名人数评分爬取并保存文件
爬取豆瓣电影信息: 双向爬取: 横向:以页为单位.纵向:以一个页面内的条目为单位. 横向: https://movie.douban.com/top250?start=0&filter= 1 ...
- MVC路由学习:自定义路由参数(用户看不到参数名),重新定义路由规则
MVC路由:由于路由global中注册了,在程序第一次运行时,在MVC会自动生成路由,类似于字典的格式缓存下来,但路由生成的规则又是怎样的呢? 路由生成规则是: 1>更具你定义的的顺序查找路由规 ...
- Python爬取豆瓣电影的Top250(链接、电影名、评分和相关描述等属性)
用了三天的时间学习了简单的爬虫爬取网站数据的过程,循序渐进但也充满趣味,涉及的知识点也很多,尤其是伪装成浏览器.正则表达式.解析网页内容.爬取的数据存档数据库等内容,这是笔者使用python跟做的第一 ...
- python获取豆瓣电影
打开豆瓣,点击选电影 到这里你会发现很简单,直接用xpath不久很容易获取到电影名及评分了吗.其实我们看到的页面是经js渲染过的,真正数据的网页在⬇ 当你点击加载更多时,会发现这个网址的前部分不变,0 ...
最新文章
- Docker 镜像小结---操作指令介绍(七)
- OpenGL版本与硬件支持
- python入门新手项目-Python入门实战项目有哪些适合新手?
- poj 1306 Combinations
- 重磅!就在刚刚,吊打一切的 YOLOv4 开源了!
- 微信小程序image bindload事件失效不触发
- 2019 ICPC Asia-East Continent Final
- Python笔记-使用uiautomator2编写某APP注册机
- .Net FSO简单小结(简单到不能再简单了)
- EasyUI的datagrid每行数据添加操作按钮的方法
- CentOs 6.2 x64双网卡绑定
- ubuntu 17.x/CentOS 7.x中安装JAVA JDK
- 关于SPSS16的安装及教程
- 三款主流静态源代码安全检测工具比较
- android+嵌入地图,Android 给app加入百度地图
- 为什么程序猿 996 会猝死,而企业家 007 却不会?
- anaconda快捷键
- MAXENT模型的生物多样性生境模拟与保护优先区甄选、自然保护区布局优化评估及论文写作技巧
- flowable 会签和或签的实现 任务多实例
- 数据结构之算法特性及分类