├── README.md
├── python电影爬虫
├── .idea
│ ├── encodings.xml
│ ├── inspectionProfiles
│ │ └── Project_Default.xml
│ ├── misc.xml
│ ├── modules.xml
│ ├── python电影爬虫.iml
│ └── workspace.xml
├── getm.py
├── movie.csv
└── requirements.txt
├── spark_movie.sql
├── spark_movie
├── .idea
│ ├── .gitignore
│ ├── codeStyles
│ │ └── codeStyleConfig.xml
│ ├── libraries
│ │ ├── jars1.xml
│ │ └── lib.xml
│ ├── misc.xml
│ ├── modules.xml
│ └── uiDesigner.xml
├── lib
│ ├── commons-lang3-3.3.1.jar
│ ├── jieba-analysis-1.0.2.jar
│ └── mysql-connector-java-5.1.35.jar
├── movie.csv
├── out
│ ├── ._SUCCESS.crc
│ ├── .part-r-00000.crc
│ ├── _SUCCESS
│ ├── part-r-00000
│ └── production
│ │ └── spark_movie
│ │ └── com
│ │ ├── CommontNum.class
│ │ ├── LvNum.class
│ │ ├── TypeNum.class
│ │ ├── WordNum.class
│ │ ├── WordUtil.class
│ │ └── YearNum.class
├── output
│ ├── ._SUCCESS.crc
│ ├── .part-r-00000.crc
│ ├── _SUCCESS
│ └── part-r-00000
├── spark_movie.iml
└── src
│ └── com
│ └── CommontNum.java
├── spark_movie_web
├── .idea
│ ├── .gitignore
│ ├── codeStyles
│ │ └── codeStyleConfig.xml
│ ├── compiler.xml
│ ├── encodings.xml
│ ├── jarRepositories.xml
│ ├── libraries
│ │ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml
│ │ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml
│ │ ├── Maven__cn_hutool_hutool_all_5_5_4.xml
│ │ ├── Maven__com_alibaba_druid_1_2_2.xml
│ │ ├── Maven__com_baomidou_mybatis_plus_3_2_0.xml
│ │ ├── Maven__com_baomidou_mybatis_plus_annotation_3_2_0.xml
│ │ ├── Maven__com_baomidou_mybatis_plus_boot_starter_3_2_0.xml
│ │ ├── Maven__com_baomidou_mybatis_plus_core_3_2_0.xml
│ │ ├── Maven__com_baomidou_mybatis_plus_extension_3_2_0.xml
│ │ ├── Maven__com_baomidou_mybatis_plus_generator_3_2_0.xml
│ │ ├── Maven__com_fasterxml_classmate_1_4_0.xml
│ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml
│ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_7.xml
│ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_7.xml
│ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_7.xml
│ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_7.xml
│ │ ├── Maven__com_fasterxml_jackson_jaxrs_jackson_jaxrs_base_2_9_7.xml
│ │ ├── Maven__com_fasterxml_jackson_jaxrs_jackson_jaxrs_json_provider_2_9_7.xml
│ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_9_7.xml
│ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_7.xml
│ │ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml
│ │ ├── Maven__com_github_jsqlparser_jsqlparser_2_1.xml
│ │ ├── Maven__com_github_stephenc_jcip_jcip_annotations_1_0_1.xml
│ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_2.xml
│ │ ├── Maven__com_google_code_gson_gson_2_8_5.xml
│ │ ├── Maven__com_google_errorprone_error_prone_annotations_2_2_0.xml
│ │ ├── Maven__com_google_guava_failureaccess_1_0.xml
│ │ ├── Maven__com_google_guava_guava_27_0_jre.xml
│ │ ├── Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml
│ │ ├── Maven__com_google_j2objc_j2objc_annotations_1_1.xml
│ │ ├── Maven__com_google_protobuf_protobuf_java_2_5_0.xml
│ │ ├── Maven__com_google_re2j_re2j_1_1.xml
│ │ ├── Maven__com_nimbusds_nimbus_jose_jwt_7_9.xml
│ │ ├── Maven__com_squareup_okhttp_okhttp_2_7_5.xml
│ │ ├── Maven__com_squareup_okio_okio_1_6_0.xml
│ │ ├── Maven__com_sun_jersey_jersey_client_1_19.xml
│ │ ├── Maven__com_sun_jersey_jersey_core_1_19.xml
│ │ ├── Maven__com_sun_jersey_jersey_servlet_1_19.xml
│ │ ├── Maven__com_thoughtworks_paranamer_paranamer_2_3.xml
│ │ ├── Maven__com_zaxxer_HikariCP_3_2_0.xml
│ │ ├── Maven__commons_beanutils_commons_beanutils_1_9_4.xml
│ │ ├── Maven__commons_cli_commons_cli_1_2.xml
│ │ ├── Maven__commons_codec_commons_codec_1_11.xml
│ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml
│ │ ├── Maven__commons_io_commons_io_2_5.xml
│ │ ├── Maven__commons_logging_commons_logging_1_1_3.xml
│ │ ├── Maven__commons_net_commons_net_3_6.xml
│ │ ├── Maven__dnsjava_dnsjava_2_1_7.xml
│ │ ├── Maven__javax_activation_javax_activation_api_1_2_0.xml
│ │ ├── Maven__javax_annotation_javax_annotation_api_1_3_2.xml
│ │ ├── Maven__javax_servlet_javax_servlet_api_4_0_1.xml
│ │ ├── Maven__javax_servlet_jsp_jsp_api_2_1.xml
│ │ ├── Maven__javax_validation_validation_api_2_0_1_Final.xml
│ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml
│ │ ├── Maven__javax_xml_bind_jaxb_api_2_3_1.xml
│ │ ├── Maven__log4j_log4j_1_2_17.xml
│ │ ├── Maven__mysql_mysql_connector_java_5_1_35.xml
│ │ ├── Maven__net_minidev_accessors_smart_1_2.xml
│ │ ├── Maven__net_minidev_json_smart_2_3.xml
│ │ ├── Maven__org_apache_avro_avro_1_7_7.xml
│ │ ├── Maven__org_apache_commons_commons_compress_1_19.xml
│ │ ├── Maven__org_apache_commons_commons_configuration2_2_1_1.xml
│ │ ├── Maven__org_apache_commons_commons_lang3_3_8_1.xml
│ │ ├── Maven__org_apache_commons_commons_math3_3_1_1.xml
│ │ ├── Maven__org_apache_commons_commons_text_1_4.xml
│ │ ├── Maven__org_apache_curator_curator_client_2_13_0.xml
│ │ ├── Maven__org_apache_curator_curator_framework_2_13_0.xml
│ │ ├── Maven__org_apache_curator_curator_recipes_2_13_0.xml
│ │ ├── Maven__org_apache_hadoop_hadoop_annotations_3_2_2.xml
│ │ ├── Maven__org_apache_hadoop_hadoop_auth_3_2_2.xml
│ │ ├── Maven__org_apache_hadoop_hadoop_client_3_2_2.xml
│ │ ├── Maven__org_apache_hadoop_hadoop_common_3_2_2.xml
│ │ ├── Maven__org_apache_hadoop_hadoop_hdfs_client_3_2_2.xml
│ │ ├── Maven__org_apache_hadoop_hadoop_mapreduce_client_common_3_2_2.xml
│ │ ├── Maven__org_apache_hadoop_hadoop_mapreduce_client_core_3_2_2.xml
│ │ ├── Maven__org_apache_hadoop_hadoop_mapreduce_client_jobclient_3_2_2.xml
│ │ ├── Maven__org_apache_hadoop_hadoop_yarn_api_3_2_2.xml
│ │ ├── Maven__org_apache_hadoop_hadoop_yarn_client_3_2_2.xml
│ │ ├── Maven__org_apache_hadoop_hadoop_yarn_common_3_2_2.xml
│ │ ├── Maven__org_apache_htrace_htrace_core4_4_1_0_incubating.xml
│ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_6.xml
│ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_10.xml
│ │ ├── Maven__org_apache_kerby_kerb_admin_1_0_1.xml
│ │ ├── Maven__org_apache_kerby_kerb_client_1_0_1.xml
│ │ ├── Maven__org_apache_kerby_kerb_common_1_0_1.xml
│ │ ├── Maven__org_apache_kerby_kerb_core_1_0_1.xml
│ │ ├── Maven__org_apache_kerby_kerb_crypto_1_0_1.xml
│ │ ├── Maven__org_apache_kerby_kerb_identity_1_0_1.xml
│ │ ├── Maven__org_apache_kerby_kerb_server_1_0_1.xml
│ │ ├── Maven__org_apache_kerby_kerb_simplekdc_1_0_1.xml
│ │ ├── Maven__org_apache_kerby_kerb_util_1_0_1.xml
│ │ ├── Maven__org_apache_kerby_kerby_asn1_1_0_1.xml
│ │ ├── Maven__org_apache_kerby_kerby_config_1_0_1.xml
│ │ ├── Maven__org_apache_kerby_kerby_pkix_1_0_1.xml
│ │ ├── Maven__org_apache_kerby_kerby_util_1_0_1.xml
│ │ ├── Maven__org_apache_kerby_kerby_xdr_1_0_1.xml
│ │ ├── Maven__org_apache_kerby_token_provider_1_0_1.xml
│ │ ├── Maven__org_apache_logging_log4j_log4j_api_2_11_1.xml
│ │ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_11_1.xml
│ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_45.xml
│ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_45.xml
│ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_45.xml
│ │ ├── Maven__org_attoparser_attoparser_2_0_5_RELEASE.xml
│ │ ├── Maven__org_checkerframework_checker_qual_2_5_2.xml
│ │ ├── Maven__org_codehaus_jackson_jackson_core_asl_1_9_13.xml
│ │ ├── Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_13.xml
│ │ ├── Maven__org_codehaus_mojo_animal_sniffer_annotations_1_17.xml
│ │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml
│ │ ├── Maven__org_eclipse_jetty_jetty_security_9_4_12_v20180830.xml
│ │ ├── Maven__org_eclipse_jetty_jetty_servlet_9_4_12_v20180830.xml
│ │ ├── Maven__org_eclipse_jetty_jetty_util_9_4_12_v20180830.xml
│ │ ├── Maven__org_eclipse_jetty_jetty_webapp_9_4_12_v20180830.xml
│ │ ├── Maven__org_eclipse_jetty_jetty_xml_9_4_12_v20180830.xml
│ │ ├── Maven__org_hibernate_validator_hibernate_validator_6_0_13_Final.xml
│ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml
│ │ ├── Maven__org_mybatis_mybatis_3_5_2.xml
│ │ ├── Maven__org_mybatis_mybatis_spring_2_0_2.xml
│ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml
│ │ ├── Maven__org_projectlombok_lombok_1_18_2.xml
│ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml
│ │ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml
│ │ ├── Maven__org_springframework_boot_spring_boot_2_1_0_RELEASE.xml
│ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_1_0_RELEASE.xml
│ │ ├── Maven__org_springframework_boot_spring_boot_starter_2_1_0_RELEASE.xml
│ │ ├── Maven__org_springframework_boot_spring_boot_starter_jdbc_2_1_0_RELEASE.xml
│ │ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_1_0_RELEASE.xml
│ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_1_0_RELEASE.xml
│ │ ├── Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_1_0_RELEASE.xml
│ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_2_1_0_RELEASE.xml
│ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_2_1_0_RELEASE.xml
│ │ ├── Maven__org_springframework_spring_aop_5_1_2_RELEASE.xml
│ │ ├── Maven__org_springframework_spring_beans_5_1_2_RELEASE.xml
│ │ ├── Maven__org_springframework_spring_context_5_1_2_RELEASE.xml
│ │ ├── Maven__org_springframework_spring_core_5_1_2_RELEASE.xml
│ │ ├── Maven__org_springframework_spring_expression_5_1_2_RELEASE.xml
│ │ ├── Maven__org_springframework_spring_jcl_5_1_2_RELEASE.xml
│ │ ├── Maven__org_springframework_spring_jdbc_5_1_2_RELEASE.xml
│ │ ├── Maven__org_springframework_spring_tx_5_1_2_RELEASE.xml
│ │ ├── Maven__org_springframework_spring_web_5_1_2_RELEASE.xml
│ │ ├── Maven__org_springframework_spring_webmvc_5_1_2_RELEASE.xml
│ │ ├── Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_1_RELEASE.xml
│ │ ├── Maven__org_thymeleaf_thymeleaf_3_0_11_RELEASE.xml
│ │ ├── Maven__org_thymeleaf_thymeleaf_spring5_3_0_11_RELEASE.xml
│ │ ├── Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml
│ │ ├── Maven__org_xerial_snappy_snappy_java_1_0_5.xml
│ │ └── Maven__org_yaml_snakeyaml_1_23.xml
│ ├── misc.xml
│ ├── modules.xml
│ └── uiDesigner.xml
├── pom.xml
├── spark_movie_web.iml
└── src
│ └── main
│ ├── java
│ └── com
│ │ └── movie
│ │ ├── MovieApp.java
│ │ ├── config
│ │ ├── Conf.java
│ │ ├── LoginFilter.java
│ │ └── RouteConfig.java
│ │ ├── controller
│ │ ├── IndexController.java
│ │ ├── MovieController.java
│ │ └── UserController.java
│ │ ├── entity
│ │ ├── CommentNum.java
│ │ ├── LvNum.java
│ │ ├── Type.java
│ │ ├── UserInfo.java
│ │ ├── Words.java
│ │ └── YearNum.java
│ │ ├── etl
│ │ └── MapReduceETL.java
│ │ ├── mapper
│ │ ├── CommentNumMapper.java
│ │ ├── LvNumMapper.java
│ │ ├── TypeMapper.java
│ │ ├── UserMapper.java
│ │ ├── WordsMapper.java
│ │ └── YearNumMapper.java
│ │ └── utils
│ │ └── AccountValidatorUtil.java
│ └── resources
│ ├── application.yaml
│ ├── static
│ ├── css
│ │ ├── home.css
│ │ ├── login.css
│ │ └── reg.css
│ ├── home.html
│ ├── images
│ │ └── bgm.jpg
│ ├── js
│ │ ├── echarts.min.js
│ │ └── jquery.js
│ └── layui
│ │ ├── css
│ │ ├── layui.css
│ │ └── modules
│ │ │ ├── code.css
│ │ │ ├── laydate
│ │ │ └── default
│ │ │ │ └── laydate.css
│ │ │ └── layer
│ │ │ └── default
│ │ │ ├── icon-ext.png
│ │ │ ├── icon.png
│ │ │ ├── layer.css
│ │ │ ├── loading-0.gif
│ │ │ ├── loading-1.gif
│ │ │ └── loading-2.gif
│ │ ├── font
│ │ ├── iconfont.eot
│ │ ├── iconfont.svg
│ │ ├── iconfont.ttf
│ │ ├── iconfont.woff
│ │ └── iconfont.woff2
│ │ └── layui.js
│ └── templates
│ ├── index.html
│ ├── login.html
│ └── register.html
└── 关于系统.txt
/README.md:
--------------------------------------------------------------------------------
1 | # Python_Spark_Analysis_DoubanMovie_Crawler
2 | 基于豆瓣电影爬虫及Spark数据分析可视化设计
3 |
4 | 开发环境:PyCharm + Python3.7 + Spark + Idea + Mysql + Echart
5 | 可视化网站入口:http://localhost:8080/login.html
6 | 账号密码: admin/1
7 |
8 | 由于我国经济的不断增长,人们的物质生活也在不断提升,因此越来越多的人观影需求增加以丰富精神生活,为分析当下用户的观影偏好以及方便人们从众多的影片中作出合适的选择,本文基于Spark分析平台及python爬虫技术等设计了一个豆瓣电影数据分析可视化系统,以完成对豆瓣电影网页的数据进行爬取,进而以折线图图、直方图等多种数据可视化的形式直观的展示给用户,从而分析用户观影偏好以及为用户选择影片时提供一定的参考。
9 | 该豆瓣电影数据分析分析可视化系统主要可以实现至少对一万条电影数据的爬取和分析,可以从中分析出热门电影类型数据占比、历年电影上线走势、电影高频词统计分析、电影评分等级分析、影评时间统计分析、上线电影数量较高年份五大模块。
10 |
--------------------------------------------------------------------------------
/python电影爬虫/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/python电影爬虫/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/python电影爬虫/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/python电影爬虫/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/python电影爬虫/.idea/python电影爬虫.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/python电影爬虫/getm.py:
--------------------------------------------------------------------------------
1 | import time
2 | import uuid
3 | import requests
4 | import os
5 | from selenium import webdriver
6 | from selenium.webdriver.common.by import By
7 | from selenium.webdriver.chrome.options import Options
8 | from selenium.webdriver.support import expected_conditions as ec
9 | from selenium.webdriver.support.wait import WebDriverWait
10 | from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
11 |
12 | import csv
13 |
14 | #杀死进程命令: taskkill /im chromedriver.exe /f
15 |
16 | def get_menu(page):
17 | for k in range(page):
18 | time.sleep(5)
19 | wait.until(ec.presence_of_element_located((By.LINK_TEXT, "后页>")))
20 | tables = browser.find_elements(By.XPATH, '//div[@class="title"]/a[@class="title-text"]')
21 | for table in tables:
22 | link = table.get_attribute("href")
23 | title = table.text
24 | movies.append({title: link})
25 | browser.find_element(By.LINK_TEXT, "后页>").click()
26 |
27 |
28 |
29 | def downloadimg(url, filename):
30 | pa = ''
31 | try:
32 | ttt = requests.get(url=url)
33 | pa = 'img/%s.jpg' % filename
34 | if os.path.exists('./%s' % pa):
35 | pa
36 | with open('./%s' % pa, 'wb') as file:
37 | file.write(ttt.content)
38 | print("%s.jpg已下载完成" % filename)
39 | except Exception as e:
40 | print('%s.jpg下载失败' % filename)
41 | return "/" + pa
42 |
43 | def get_products(link):
44 | # 后退到百度页面
45 | browser2.back()
46 | browser2.get(link)
47 |
48 | time.sleep(5)
49 |
50 | # 等待页面加载
51 | wait2.until(ec.presence_of_element_located((By.CSS_SELECTOR, '#mainpic')))
52 | name = browser2.find_element(By.XPATH, '//div[@id="content"]/h1/span[1]').text.strip().replace("\r\n","").replace("\r","").replace("\n","").replace(",",",")
53 | # img = browser2.find_element(By.XPATH, '//*[@id="mainpic"]/a/img').get_attribute("src")
54 | # img = downloadimg(img,str(uuid.uuid1()).replace("-",""))
55 | # daoyan = browser2.find_element(By.XPATH, '//*[@id="info"]/span[1]/span[2]').text.strip().replace("\r\n","").replace("\r","").replace("\n","")
56 | types = browser2.find_elements(By.XPATH, '//div[@id="info"]/span[@property="v:genre"]')
57 | tt = []
58 | for tp in types:
59 | tt.append(tp.text.strip().replace("\r\n", "").replace("\r", "").replace("\n", "").replace(",",","))
60 | # online = browser2.find_element(By.XPATH, '//*[@id="info"]/span[@property="v:runtime"]').text.strip().replace("\r\n","").replace("\r","").replace("\n","")
61 | try:
62 | year = browser2.find_element(By.XPATH, '//div[@id="info"]/span[@property="v:initialReleaseDate"]').text.strip().replace("\r\n","").replace("\r","").replace("\n","").replace(",",",")
63 | except Exception as ex:
64 | print('还未上映,无法获取上映时间跳过!')
65 | return
66 | score = browser2.find_element(By.XPATH, '//div[@id="interest_sectl"]/div[1]/div[2]/strong').text.strip().replace("\r\n","").replace("\r","").replace("\n","").replace(",",",")
67 | # small = browser2.find_element(By.XPATH, '//*[@id="link-report"]/span').text.strip().replace("\r\n","").replace("\r","").replace("\n","")
68 | #tables = browser2.find_elements(By.XPATH,'//*[@id="comments-section"]/div[2]/div[2]/div[1]/div')
69 | tables = browser2.find_elements(By.XPATH, '//div[@id="comments-section"]//div[@id="hot-comments"]/div')
70 | for com1 in tables:
71 | try:
72 | tm = com1.find_element(By.XPATH, './div/h3/span[2]/span[@class="comment-time "]').text.replace(",",",")
73 | content = com1.find_element(By.XPATH,'./div/p/span').text.replace(",",",")
74 | writer.writerow([name, "/".join(tt), year, score, tm, content])
75 | print(name, "/".join(tt), year, score, tm, content)
76 | except Exception as e:
77 | print(e)
78 | continue
79 |
80 |
81 |
82 |
83 |
84 | if __name__ == "__main__":
85 |
86 | # 初始化浏览器对象
87 | chrome_options = Options()
88 | # 设置无窗口模式
89 | # chrome_options.add_argument('--headless')
90 | # 解决反爬识别selenium 避免浏览器监测
91 | chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
92 | # 设置user-agent,来模拟客户端,如iPhone Safari浏览器
93 | chrome_options.add_argument(
94 | 'user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"')
95 | # 设置默认编码为 utf-8,也就是中文
96 | chrome_options.add_argument('lang=zh_CN.UTF-8')
97 | # 禁止图片加载
98 | prefs = {"profile.managed_default_content_settings.images": 2}
99 | chrome_options.add_experimental_option("prefs", prefs)
100 | # 设置页面加载策略,none表示非阻塞模式。
101 | desired_capabilities = DesiredCapabilities.CHROME
102 | desired_capabilities["pageLoadStrategy"] = "none"
103 |
104 | # 避免浏览器监测
105 | opt = Options()
106 | opt.add_experimental_option("excludeSwitches", ['enable-automation'])
107 | # 停止页面的不必要加载
108 | #opt.page_load_strategy = 'eager'
109 |
110 | # 无头浏览器,在后台运行
111 | # opt.add_argument("--headless")
112 | browser = webdriver.Chrome(options=chrome_options, executable_path='C:/chromedriver.exe', desired_capabilities=desired_capabilities)
113 | #browser = webdriver.Chrome(options=opt, executable_path='C:/chromedriver.exe')
114 | # 显示等待,等待browser页面5秒
115 | wait = WebDriverWait(browser, 5)
116 | # 爬取链接
117 | movies = []
118 |
119 |
--------------------------------------------------------------------------------
/python电影爬虫/requirements.txt:
--------------------------------------------------------------------------------
1 | async-generator==1.10
2 | attrs==22.1.0
3 | certifi==2022.6.15
4 | cffi==1.15.1
5 | charset-normalizer==2.1.1
6 | h11==0.13.0
7 | idna==3.3
8 | outcome==1.2.0
9 | pycparser==2.21
10 | PySocks==1.7.1
11 | requests==2.28.1
12 | selenium==3.141.0
13 | sniffio==1.2.0
14 | sortedcontainers==2.4.0
15 | trio==0.21.0
16 | trio-websocket==0.9.2
17 | typing-extensions==4.3.0
18 | urllib3==1.26.12
19 | wsproto==1.2.0
20 |
--------------------------------------------------------------------------------
/spark_movie/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Datasource local storage ignored files
5 | /dataSources/
6 | /dataSources.local.xml
7 | # Editor-based HTTP Client requests
8 | /httpRequests/
9 |
--------------------------------------------------------------------------------
/spark_movie/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/spark_movie/.idea/libraries/jars1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie/.idea/libraries/lib.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spark_movie/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/spark_movie/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/spark_movie/.idea/uiDesigner.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | -
6 |
7 |
8 | -
9 |
10 |
11 | -
12 |
13 |
14 | -
15 |
16 |
17 | -
18 |
19 |
20 |
21 |
22 |
23 | -
24 |
25 |
26 |
27 |
28 |
29 | -
30 |
31 |
32 |
33 |
34 |
35 | -
36 |
37 |
38 |
39 |
40 |
41 | -
42 |
43 |
44 |
45 |
46 | -
47 |
48 |
49 |
50 |
51 | -
52 |
53 |
54 |
55 |
56 | -
57 |
58 |
59 |
60 |
61 | -
62 |
63 |
64 |
65 |
66 | -
67 |
68 |
69 |
70 |
71 | -
72 |
73 |
74 | -
75 |
76 |
77 |
78 |
79 | -
80 |
81 |
82 |
83 |
84 | -
85 |
86 |
87 |
88 |
89 | -
90 |
91 |
92 |
93 |
94 | -
95 |
96 |
97 |
98 |
99 | -
100 |
101 |
102 | -
103 |
104 |
105 | -
106 |
107 |
108 | -
109 |
110 |
111 | -
112 |
113 |
114 |
115 |
116 | -
117 |
118 |
119 | -
120 |
121 |
122 |
123 |
124 |
--------------------------------------------------------------------------------
/spark_movie/lib/commons-lang3-3.3.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie/lib/commons-lang3-3.3.1.jar
--------------------------------------------------------------------------------
/spark_movie/lib/jieba-analysis-1.0.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie/lib/jieba-analysis-1.0.2.jar
--------------------------------------------------------------------------------
/spark_movie/lib/mysql-connector-java-5.1.35.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie/lib/mysql-connector-java-5.1.35.jar
--------------------------------------------------------------------------------
/spark_movie/out/._SUCCESS.crc:
--------------------------------------------------------------------------------
1 | crc
--------------------------------------------------------------------------------
/spark_movie/out/.part-r-00000.crc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie/out/.part-r-00000.crc
--------------------------------------------------------------------------------
/spark_movie/out/_SUCCESS:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie/out/_SUCCESS
--------------------------------------------------------------------------------
/spark_movie/out/production/spark_movie/com/CommontNum.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie/out/production/spark_movie/com/CommontNum.class
--------------------------------------------------------------------------------
/spark_movie/out/production/spark_movie/com/LvNum.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie/out/production/spark_movie/com/LvNum.class
--------------------------------------------------------------------------------
/spark_movie/out/production/spark_movie/com/TypeNum.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie/out/production/spark_movie/com/TypeNum.class
--------------------------------------------------------------------------------
/spark_movie/out/production/spark_movie/com/WordNum.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie/out/production/spark_movie/com/WordNum.class
--------------------------------------------------------------------------------
/spark_movie/out/production/spark_movie/com/WordUtil.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie/out/production/spark_movie/com/WordUtil.class
--------------------------------------------------------------------------------
/spark_movie/out/production/spark_movie/com/YearNum.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie/out/production/spark_movie/com/YearNum.class
--------------------------------------------------------------------------------
/spark_movie/output/._SUCCESS.crc:
--------------------------------------------------------------------------------
1 | crc
--------------------------------------------------------------------------------
/spark_movie/output/.part-r-00000.crc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie/output/.part-r-00000.crc
--------------------------------------------------------------------------------
/spark_movie/output/_SUCCESS:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie/output/_SUCCESS
--------------------------------------------------------------------------------
/spark_movie/spark_movie.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie/src/com/CommontNum.java:
--------------------------------------------------------------------------------
1 | package com;
2 |
3 | import org.apache.spark.api.java.JavaPairRDD;
4 | import org.apache.spark.api.java.JavaRDD;
5 | import org.apache.spark.sql.Dataset;
6 | import org.apache.spark.sql.Row;
7 | import org.apache.spark.sql.RowFactory;
8 | import org.apache.spark.sql.SparkSession;
9 | import org.apache.spark.sql.types.DataTypes;
10 | import org.apache.spark.sql.types.StructType;
11 | import scala.Tuple2;
12 |
13 | import java.util.ArrayList;
14 | import java.util.List;
15 | import java.util.Properties;
16 |
17 | /**
18 | * 统计影评时间统计分析数
19 | */
20 | public class CommontNum {
21 | public static void main(String[] args) {
22 | SparkSession sparkSession = new SparkSession.Builder().master("local").appName("count year numbers").getOrCreate();
23 | JavaRDD javaRDD = sparkSession.read().textFile("movie.csv").javaRDD();
24 | JavaRDD yearRDD = javaRDD.map(line -> line.split(",")[4].substring(0,10));
25 | JavaPairRDD javaPairRDD = yearRDD.mapToPair(word -> new Tuple2<>(word, 1));
26 | JavaPairRDD reduceByKey = javaPairRDD.reduceByKey((x, y) -> x + y);
27 | reduceByKey.collect().forEach(System.out::println);
28 | JavaRDD rowJavaRDD = reduceByKey.map(x -> RowFactory.create(x._1, x._2));
29 | //数据库内容
30 | String url = "jdbc:mysql://localhost:3306/spark_movie?useUnicode=true&characterEncoding=utf8";
31 | Properties connectionProperties = new Properties();
32 | connectionProperties.put("user", "root");
33 | connectionProperties.put("password", "123456");
34 | connectionProperties.put("driver", "com.mysql.jdbc.Driver");
35 | /**
36 | * 第二步:动态构造DataFrame的元数据。
37 | */
38 | List structFields = new ArrayList();
39 | structFields.add(DataTypes.createStructField("year", DataTypes.StringType, true));
40 | structFields.add(DataTypes.createStructField("num", DataTypes.IntegerType, true));
41 |
42 | //构建StructType,用于最后DataFrame元数据的描述
43 | StructType structType = DataTypes.createStructType(structFields);
44 |
45 | /**
46 | * 第三步:基于已有的元数据以及RDD来构造DataFrame
47 | */
48 | Dataset dataFrame = sparkSession.createDataFrame(rowJavaRDD, structType);
49 |
50 | /**
51 | * 第四步:将数据写入到user表中
52 | */
53 | dataFrame.write().mode("append").jdbc(url, "commentnum", connectionProperties);
54 |
55 | //停止SparkContext
56 | sparkSession.stop();
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Datasource local storage ignored files
5 | /dataSources/
6 | /dataSources.local.xml
7 | # Editor-based HTTP Client requests
8 | /httpRequests/
9 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
24 |
25 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/jarRepositories.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__cn_hutool_hutool_all_5_5_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_alibaba_druid_1_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_baomidou_mybatis_plus_3_2_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_baomidou_mybatis_plus_annotation_3_2_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_baomidou_mybatis_plus_boot_starter_3_2_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_baomidou_mybatis_plus_core_3_2_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_baomidou_mybatis_plus_extension_3_2_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_baomidou_mybatis_plus_generator_3_2_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_fasterxml_classmate_1_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_fasterxml_jackson_jaxrs_jackson_jaxrs_base_2_9_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_fasterxml_jackson_jaxrs_jackson_jaxrs_json_provider_2_9_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_9_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_2_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_github_stephenc_jcip_jcip_annotations_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_google_code_gson_gson_2_8_5.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_2_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_google_guava_failureaccess_1_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_google_guava_guava_27_0_jre.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_google_protobuf_protobuf_java_2_5_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_google_re2j_re2j_1_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_nimbusds_nimbus_jose_jwt_7_9.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_squareup_okhttp_okhttp_2_7_5.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_squareup_okio_okio_1_6_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_sun_jersey_jersey_client_1_19.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_sun_jersey_jersey_core_1_19.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_sun_jersey_jersey_servlet_1_19.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_thoughtworks_paranamer_paranamer_2_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__com_zaxxer_HikariCP_3_2_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__commons_cli_commons_cli_1_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__commons_codec_commons_codec_1_11.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__commons_io_commons_io_2_5.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__commons_net_commons_net_3_6.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__dnsjava_dnsjava_2_1_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__javax_activation_javax_activation_api_1_2_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__javax_annotation_javax_annotation_api_1_3_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__javax_servlet_javax_servlet_api_4_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__javax_servlet_jsp_jsp_api_2_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__javax_validation_validation_api_2_0_1_Final.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__javax_ws_rs_jsr311_api_1_1_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__javax_xml_bind_jaxb_api_2_3_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__log4j_log4j_1_2_17.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_35.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__net_minidev_json_smart_2_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_avro_avro_1_7_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_commons_commons_compress_1_19.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_commons_commons_configuration2_2_1_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_8_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_commons_commons_math3_3_1_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_commons_commons_text_1_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_curator_curator_client_2_13_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_curator_curator_framework_2_13_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_curator_curator_recipes_2_13_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_hadoop_hadoop_annotations_3_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_hadoop_hadoop_auth_3_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_hadoop_hadoop_client_3_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_hadoop_hadoop_common_3_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_hadoop_hadoop_hdfs_client_3_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_hadoop_hadoop_mapreduce_client_common_3_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_hadoop_hadoop_mapreduce_client_core_3_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_hadoop_hadoop_mapreduce_client_jobclient_3_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_hadoop_hadoop_yarn_api_3_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_hadoop_hadoop_yarn_client_3_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_hadoop_hadoop_yarn_common_3_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_htrace_htrace_core4_4_1_0_incubating.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_6.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_10.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_kerby_kerb_admin_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_kerby_kerb_client_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_kerby_kerb_common_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_kerby_kerb_core_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_kerby_kerb_crypto_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_kerby_kerb_identity_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_kerby_kerb_server_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_kerby_kerb_simplekdc_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_kerby_kerb_util_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_kerby_kerby_asn1_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_kerby_kerby_config_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_kerby_kerby_pkix_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_kerby_kerby_util_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_kerby_kerby_xdr_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_kerby_token_provider_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_11_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_11_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_45.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_45.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_45.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_attoparser_attoparser_2_0_5_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_checkerframework_checker_qual_2_5_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_13.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_13.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_codehaus_mojo_animal_sniffer_annotations_1_17.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_eclipse_jetty_jetty_security_9_4_12_v20180830.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_eclipse_jetty_jetty_servlet_9_4_12_v20180830.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_4_12_v20180830.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_eclipse_jetty_jetty_webapp_9_4_12_v20180830.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_eclipse_jetty_jetty_xml_9_4_12_v20180830.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_0_13_Final.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_mybatis_mybatis_3_5_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_mybatis_mybatis_spring_2_0_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_projectlombok_lombok_1_18_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_25.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_spring_aop_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_spring_beans_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_spring_context_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_spring_core_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_spring_expression_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_spring_jcl_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_spring_jdbc_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_spring_tx_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_spring_web_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_springframework_spring_webmvc_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_1_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_0_11_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring5_3_0_11_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_0_5.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/libraries/Maven__org_yaml_snakeyaml_1_23.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/spark_movie_web/.idea/uiDesigner.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | -
6 |
7 |
8 | -
9 |
10 |
11 | -
12 |
13 |
14 | -
15 |
16 |
17 | -
18 |
19 |
20 |
21 |
22 |
23 | -
24 |
25 |
26 |
27 |
28 |
29 | -
30 |
31 |
32 |
33 |
34 |
35 | -
36 |
37 |
38 |
39 |
40 |
41 | -
42 |
43 |
44 |
45 |
46 | -
47 |
48 |
49 |
50 |
51 | -
52 |
53 |
54 |
55 |
56 | -
57 |
58 |
59 |
60 |
61 | -
62 |
63 |
64 |
65 |
66 | -
67 |
68 |
69 |
70 |
71 | -
72 |
73 |
74 | -
75 |
76 |
77 |
78 |
79 | -
80 |
81 |
82 |
83 |
84 | -
85 |
86 |
87 |
88 |
89 | -
90 |
91 |
92 |
93 |
94 | -
95 |
96 |
97 |
98 |
99 | -
100 |
101 |
102 | -
103 |
104 |
105 | -
106 |
107 |
108 | -
109 |
110 |
111 | -
112 |
113 |
114 |
115 |
116 | -
117 |
118 |
119 | -
120 |
121 |
122 |
123 |
124 |
--------------------------------------------------------------------------------
/spark_movie_web/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 4.0.0
6 |
7 | com.example
8 | spark_movie_web
9 | 1.0-SNAPSHOT
10 |
11 |
12 | org.springframework.boot
13 | spring-boot-starter-parent
14 | 2.1.0.RELEASE
15 |
16 |
17 |
18 | UTF-8
19 | UTF-8
20 | 1.8
21 | 8.5.45
22 | 3.2.0
23 |
24 |
25 |
26 |
27 |
28 | org.springframework.boot
29 | spring-boot-starter-web
30 |
31 |
32 | org.springframework.boot
33 | spring-boot-starter-thymeleaf
34 |
35 |
36 |
37 | com.baomidou
38 | mybatis-plus-boot-starter
39 | ${mybatis-plus.version}
40 |
41 |
42 | com.baomidou
43 | mybatis-plus-generator
44 | ${mybatis-plus.version}
45 |
46 |
47 |
48 |
49 |
50 | com.alibaba
51 | druid
52 | 1.2.2
53 |
54 |
55 |
56 |
57 | mysql
58 | mysql-connector-java
59 | 5.1.35
60 |
61 |
62 |
63 | cn.hutool
64 | hutool-all
65 | 5.5.4
66 |
67 |
68 |
69 | org.projectlombok
70 | lombok
71 |
72 |
73 | org.apache.hadoop
74 | hadoop-client
75 | 3.2.2
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 | org.springframework.boot
85 | spring-boot-maven-plugin
86 |
87 | true
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 | public
96 | aliyun nexus
97 | http://maven.aliyun.com/nexus/content/groups/public/
98 |
99 | true
100 |
101 |
102 |
103 |
104 |
105 |
106 | public
107 | aliyun nexus
108 | http://maven.aliyun.com/nexus/content/groups/public/
109 |
110 | true
111 |
112 |
113 | false
114 |
115 |
116 |
117 |
118 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/MovieApp.java:
--------------------------------------------------------------------------------
1 | package com.movie;
2 |
3 | import org.mybatis.spring.annotation.MapperScan;
4 | import org.springframework.boot.SpringApplication;
5 | import org.springframework.boot.autoconfigure.SpringBootApplication;
6 |
7 | @MapperScan("com/movie/mapper")
8 | @SpringBootApplication
9 | public class MovieApp {
10 |
11 | public static void main(String[] args) {
12 | SpringApplication.run(MovieApp.class, args);
13 | System.out.println("页面的访问地址:http://localhost:8080/");
14 | }
15 | }
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/config/Conf.java:
--------------------------------------------------------------------------------
1 | package com.movie.config;
2 |
3 |
4 | import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
5 | import org.springframework.context.annotation.Bean;
6 | import org.springframework.context.annotation.Configuration;
7 |
8 | @Configuration
9 | public class Conf {
10 | @Bean
11 | public PaginationInterceptor paginationInterceptor() {
12 |
13 | return new PaginationInterceptor();
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/config/LoginFilter.java:
--------------------------------------------------------------------------------
1 | package com.movie.config;
2 |
3 | import org.springframework.web.servlet.HandlerInterceptor;
4 |
5 | import javax.servlet.http.HttpServletRequest;
6 | import javax.servlet.http.HttpServletResponse;
7 |
8 | public class LoginFilter implements HandlerInterceptor {
9 | @Override
10 | public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
11 | Object loginUser = request.getSession().getAttribute("loginUser");
12 | if (loginUser == null) {
13 | request.setAttribute("login_msg", "没有权限,请先登录。");
14 | request.getRequestDispatcher("/login.html").forward(request, response);
15 | return false;
16 | } else {
17 | return true;
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/config/RouteConfig.java:
--------------------------------------------------------------------------------
1 | package com.movie.config;
2 |
3 | import org.springframework.context.annotation.Configuration;
4 | import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
5 | import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
6 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
7 |
8 | @Configuration
9 | public class RouteConfig implements WebMvcConfigurer {
10 | @Override
11 | public void addViewControllers(ViewControllerRegistry registry) {
12 | registry.addViewController("main.html").setViewName("index");
13 | registry.addViewController("login.html").setViewName("login");
14 | registry.addViewController("register.html").setViewName("register");
15 | }
16 |
17 | @Override
18 | public void addInterceptors(InterceptorRegistry registry) {
19 | registry.addInterceptor(new LoginFilter()).addPathPatterns("/**")
20 | .excludePathPatterns("/index", "/user/login", "/login", "/login.html", "/user/register", "/register", "/register.html", "/css/**", "/layui/**", "/images/**", "/js/**");
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/controller/IndexController.java:
--------------------------------------------------------------------------------
1 | package com.movie.controller;
2 |
3 | import org.springframework.stereotype.Controller;
4 | import org.springframework.ui.Model;
5 | import org.springframework.web.bind.annotation.RequestMapping;
6 |
7 | @Controller
8 | public class IndexController {
9 |
10 | @RequestMapping("/")
11 | public String index(Model model) {
12 | return "login.html";
13 | }
14 | }
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/controller/MovieController.java:
--------------------------------------------------------------------------------
1 | package com.movie.controller;
2 |
3 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 | import com.movie.entity.*;
5 | import com.movie.mapper.*;
6 | import org.springframework.web.bind.annotation.GetMapping;
7 | import org.springframework.web.bind.annotation.RequestMapping;
8 | import org.springframework.web.bind.annotation.RestController;
9 |
10 | import javax.annotation.Resource;
11 | import java.util.List;
12 |
13 | @RestController
14 | public class MovieController {
15 | @Resource
16 | private LvNumMapper lvNumMapper;
17 | @Resource
18 | private TypeMapper typeMapper;
19 | @Resource
20 | private YearNumMapper yearNumMapper;
21 | @Resource
22 | private WordsMapper wordsMapper;
23 | @Resource
24 | private CommentNumMapper commentNumMapper;
25 |
26 | @GetMapping
27 | @RequestMapping("/year")
28 | public Object year() {
29 | // 查询数据库数据
30 | QueryWrapper queryWrapper = new QueryWrapper();
31 | queryWrapper.orderByAsc("year");
32 | return yearNumMapper.selectList(queryWrapper);
33 | }
34 |
35 | @GetMapping
36 | @RequestMapping("/yeartop")
37 | public Object yeartop() {
38 | // 查询数据库数据
39 | QueryWrapper queryWrapper = new QueryWrapper();
40 | queryWrapper.orderByDesc("num");
41 | queryWrapper.last("limit 20");
42 | return yearNumMapper.selectList(queryWrapper);
43 | }
44 |
45 |
46 | @GetMapping
47 | @RequestMapping("/type")
48 | public Object type() {
49 | // 查询数据库数据
50 | return typeMapper.selectList(null);
51 | }
52 |
53 | @GetMapping
54 | @RequestMapping("/lvnum")
55 | public Object lvnum() {
56 | // 查询数据库数据
57 | return lvNumMapper.selectList(null);
58 | }
59 |
60 | @GetMapping
61 | @RequestMapping("/times")
62 | public Object times() {
63 | // 查询数据库数据
64 | QueryWrapper c = new QueryWrapper<>();
65 | c.orderByDesc("num").last("limit 20");
66 | return commentNumMapper.selectList(c);
67 | }
68 |
69 | @GetMapping
70 | @RequestMapping("/words")
71 | public Object words() {
72 | QueryWrapper c = new QueryWrapper<>();
73 | c.orderByDesc("value").last("limit 20");
74 | // 查询数据库数据
75 | return wordsMapper.selectList(c);
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/controller/UserController.java:
--------------------------------------------------------------------------------
1 | package com.movie.controller;
2 |
3 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 | import com.movie.entity.UserInfo;
5 | import com.movie.mapper.UserMapper;
6 | import com.movie.utils.AccountValidatorUtil;
7 | import org.apache.ibatis.annotations.Param;
8 | import org.springframework.stereotype.Controller;
9 | import org.springframework.ui.Model;
10 | import org.springframework.util.ObjectUtils;
11 | import org.springframework.web.bind.annotation.*;
12 | import org.springframework.web.servlet.mvc.support.RedirectAttributes;
13 |
14 | import javax.annotation.Resource;
15 | import javax.servlet.http.HttpSession;
16 |
17 | @Controller
18 | public class UserController {
19 | @Resource
20 | private UserMapper userMapper;
21 |
22 | @RequestMapping("/user/login")
23 | public String login(@RequestParam("loginName") String loginName, @RequestParam("password") String password, Model model, RedirectAttributes attributes, HttpSession session) {
24 | if (ObjectUtils.isEmpty(loginName) || ObjectUtils.isEmpty(password)) {
25 | model.addAttribute("login_msg", "关键信息不能为空。");
26 | return "login";
27 | }
28 | QueryWrapper queryWrapper = new QueryWrapper();
29 | queryWrapper.eq("login_name", loginName);
30 | UserInfo user = userMapper.selectOne(queryWrapper);
31 | if (user == null || !user.getPassword().equals(password)) {
32 | model.addAttribute("login_msg", "用户名或密码错误。");
33 | return "login";
34 | } else {
35 | session.setAttribute("loginUser", user);
36 | return "redirect:/main.html";
37 | }
38 | }
39 |
40 | @RequestMapping("/logout")
41 | public String logout(HttpSession session) {
42 | session.invalidate();
43 | return "redirect:/main.html";
44 | }
45 |
46 | @PostMapping("/user/register")
47 | public String register(UserInfo user, @Param("confirmPassword") String confirmPassword, Model model) {
48 | if (user == null || ObjectUtils.isEmpty(user.getLoginName()) || ObjectUtils.isEmpty(user.getPassword()) || ObjectUtils.isEmpty(confirmPassword)) {
49 | model.addAttribute("register_msg", "关键信息不能为空,请输入!");
50 | return "register";
51 | }
52 | if (!AccountValidatorUtil.isMobile(user.getLoginName())) {
53 | model.addAttribute("register_msg", "账号只能是手机号!");
54 | return "register";
55 | }
56 | if (!AccountValidatorUtil.isPassword(user.getPassword())) {
57 | model.addAttribute("register_msg", "密码只能是6~20位的字母和数字。");
58 | return "register";
59 | }
60 |
61 | QueryWrapper queryWrapper = new QueryWrapper();
62 | queryWrapper.eq("login_name", user.getLoginName());
63 | UserInfo oldUser = userMapper.selectOne(queryWrapper);
64 | if (oldUser != null) {
65 | model.addAttribute("register_msg", "账号已存在,换个手机试试!");
66 | return "register";
67 | }
68 | if (!user.getPassword().equals(confirmPassword)) {
69 | model.addAttribute("register_msg", "两次密码不一致!");
70 | } else {
71 | userMapper.insert(user);
72 | model.addAttribute("register_msg", "注册成功,请登录。");
73 | }
74 | return "register";
75 | }
76 |
77 |
78 | }
79 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/entity/CommentNum.java:
--------------------------------------------------------------------------------
1 | package com.movie.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.TableName;
4 | import lombok.AllArgsConstructor;
5 | import lombok.Data;
6 | import lombok.NoArgsConstructor;
7 |
8 | @Data
9 | @AllArgsConstructor
10 | @NoArgsConstructor
11 | @TableName("commentnum")
12 | public class CommentNum {
13 | private String year;
14 | private int num;
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/entity/LvNum.java:
--------------------------------------------------------------------------------
1 | package com.movie.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.TableName;
4 | import lombok.AllArgsConstructor;
5 | import lombok.Data;
6 | import lombok.NoArgsConstructor;
7 |
8 | @Data
9 | @AllArgsConstructor
10 | @NoArgsConstructor
11 | @TableName("lvnum")
12 | public class LvNum {
13 | private String name;
14 | private int value;
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/entity/Type.java:
--------------------------------------------------------------------------------
1 | package com.movie.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.TableName;
4 | import lombok.AllArgsConstructor;
5 | import lombok.Data;
6 | import lombok.NoArgsConstructor;
7 |
8 | @Data
9 | @AllArgsConstructor
10 | @NoArgsConstructor
11 | @TableName("type")
12 | public class Type {
13 | private String name;
14 | private int value;
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/entity/UserInfo.java:
--------------------------------------------------------------------------------
1 | package com.movie.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import lombok.Data;
7 |
8 | @Data
9 | @TableName("user")
10 | public class UserInfo {
11 | @TableId(type = IdType.AUTO)
12 | private Long id;
13 | private String loginName;
14 | private String name;
15 | private String password;
16 | private int role;//0普通用户,1管理员
17 | }
18 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/entity/Words.java:
--------------------------------------------------------------------------------
1 | package com.movie.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.TableName;
4 | import lombok.AllArgsConstructor;
5 | import lombok.Data;
6 | import lombok.NoArgsConstructor;
7 |
8 | @Data
9 | @AllArgsConstructor
10 | @NoArgsConstructor
11 | @TableName("words")
12 | public class Words {
13 | private String name;
14 | private int value;
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/entity/YearNum.java:
--------------------------------------------------------------------------------
1 | package com.movie.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.TableName;
4 | import lombok.Data;
5 |
6 | @Data
7 | @TableName("yearnum")
8 | public class YearNum {
9 | private String year;
10 | private int num;
11 | }
12 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/etl/MapReduceETL.java:
--------------------------------------------------------------------------------
1 | package com.movie.etl;
2 |
3 | import org.apache.hadoop.conf.Configuration;
4 | import org.apache.hadoop.fs.Path;
5 | import org.apache.hadoop.io.LongWritable;
6 | import org.apache.hadoop.io.NullWritable;
7 | import org.apache.hadoop.io.Text;
8 | import org.apache.hadoop.mapreduce.Job;
9 | import org.apache.hadoop.mapreduce.Mapper;
10 | import org.apache.hadoop.mapreduce.Reducer;
11 | import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
12 | import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
13 | import org.apache.hadoop.util.GenericOptionsParser;
14 |
15 | import java.io.IOException;
16 |
17 | /**
18 | * 数据清洗,去掉字段数不对的脏数据
19 | * 去掉评分不对的数据
20 | * 去掉表头
21 | */
22 | public class MapReduceETL {
23 | public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException {
24 | String[] otherArgs = new GenericOptionsParser(args).getRemainingArgs();
25 | if (otherArgs.length != 2) {
26 | System.out.println("参数不对,输入路径 and 输出路径.");
27 | System.exit(2);
28 | }
29 |
30 | Configuration conf = new Configuration();
31 | Job job = Job.getInstance(conf);
32 | job.setJarByClass(MapReduceETL.class);
33 | job.setMapperClass(map.class);
34 | job.setMapOutputKeyClass(Text.class);
35 | job.setMapOutputValueClass(NullWritable.class);
36 | job.setReducerClass(reduce.class);
37 | job.setOutputKeyClass(Text.class);
38 | job.setOutputValueClass(NullWritable.class);
39 |
40 | for (int i = 0; i < otherArgs.length - 1; i++) {
41 | // 设置需要统计的文件的输入路径
42 | FileInputFormat.addInputPath(job, new Path(otherArgs[i]));
43 | }
44 | FileOutputFormat.setOutputPath(job, new Path(otherArgs[otherArgs.length - 1]));
45 | System.exit(job.waitForCompletion(true) ? 0 : 1);
46 | }
47 |
48 | public static class map extends Mapper {
49 |
50 | @Override
51 | protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
52 | try {
53 | String[] arrs = value.toString().split(",");
54 | if (arrs.length != 6) {
55 | System.out.println("字段数不对,脏数据跳过!");
56 | return;
57 | }
58 | double score = Double.parseDouble(arrs[3]);
59 | context.write(value, NullWritable.get());
60 | } catch (Exception e) {
61 | System.out.println("评分格式不对,脏数据跳过!");
62 | return;
63 | }
64 | }
65 | }
66 |
67 | public static class reduce extends Reducer {
68 | @Override
69 | protected void reduce(Text key, Iterable values, Context context) throws IOException, InterruptedException {
70 | context.write(key, NullWritable.get());
71 | }
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/mapper/CommentNumMapper.java:
--------------------------------------------------------------------------------
1 | package com.movie.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.movie.entity.CommentNum;
5 | import com.movie.entity.LvNum;
6 |
7 | public interface CommentNumMapper extends BaseMapper {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/mapper/LvNumMapper.java:
--------------------------------------------------------------------------------
1 | package com.movie.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.movie.entity.LvNum;
5 | import com.movie.entity.Type;
6 |
7 | public interface LvNumMapper extends BaseMapper {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/mapper/TypeMapper.java:
--------------------------------------------------------------------------------
1 | package com.movie.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.movie.entity.Type;
5 |
6 | public interface TypeMapper extends BaseMapper {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/mapper/UserMapper.java:
--------------------------------------------------------------------------------
1 | package com.movie.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.movie.entity.UserInfo;
5 |
6 | public interface UserMapper extends BaseMapper {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/mapper/WordsMapper.java:
--------------------------------------------------------------------------------
1 | package com.movie.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.movie.entity.LvNum;
5 | import com.movie.entity.Words;
6 |
7 | public interface WordsMapper extends BaseMapper {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/mapper/YearNumMapper.java:
--------------------------------------------------------------------------------
1 | package com.movie.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.movie.entity.YearNum;
5 |
6 | public interface YearNumMapper extends BaseMapper {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/java/com/movie/utils/AccountValidatorUtil.java:
--------------------------------------------------------------------------------
1 | package com.movie.utils;
2 |
3 | import java.util.regex.Pattern;
4 |
5 | /**
6 | * 账户相关属性验证工具
7 | */
8 | public class AccountValidatorUtil {
9 | /**
10 | * 正则表达式:验证用户名
11 | */
12 | public static final String REGEX_USERNAME = "^[a-zA-Z]\\w{5,20}$";
13 |
14 | /**
15 | * 正则表达式:验证密码
16 | */
17 | public static final String REGEX_PASSWORD = "^[a-zA-Z0-9]{6,20}$";
18 |
19 | /**
20 | * 正则表达式:验证手机号
21 | */
22 | public static final String REGEX_MOBILE = "^((17[0-9])|(14[0-9])|(13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$";
23 |
24 | /**
25 | * 正则表达式:验证邮箱
26 | */
27 | public static final String REGEX_EMAIL = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
28 |
29 | /**
30 | * 正则表达式:验证汉字
31 | */
32 | public static final String REGEX_CHINESE = "^[\u4e00-\u9fa5],{0,}$";
33 |
34 | /**
35 | * 正则表达式:验证身份证
36 | */
37 | public static final String REGEX_ID_CARD = "(^\\d{18}$)|(^\\d{15}$)";
38 |
39 | /**
40 | * 正则表达式:验证URL
41 | */
42 | public static final String REGEX_URL = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";
43 |
44 | /**
45 | * 正则表达式:验证IP地址
46 | */
47 | public static final String REGEX_IP_ADDR = "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)";
48 |
49 | /**
50 | * 校验用户名
51 | *
52 | * @param username
53 | * @return 校验通过返回true,否则返回false
54 | */
55 | public static boolean isUsername(String username) {
56 | return Pattern.matches(REGEX_USERNAME, username);
57 | }
58 |
59 | /**
60 | * 校验密码
61 | *
62 | * @param password
63 | * @return 校验通过返回true,否则返回false
64 | */
65 | public static boolean isPassword(String password) {
66 | return Pattern.matches(REGEX_PASSWORD, password);
67 | }
68 |
69 | /**
70 | * 校验手机号
71 | *
72 | * @param mobile
73 | * @return 校验通过返回true,否则返回false
74 | */
75 | public static boolean isMobile(String mobile) {
76 | return Pattern.matches(REGEX_MOBILE, mobile);
77 | }
78 |
79 | /**
80 | * 校验邮箱
81 | *
82 | * @param email
83 | * @return 校验通过返回true,否则返回false
84 | */
85 | public static boolean isEmail(String email) {
86 | return Pattern.matches(REGEX_EMAIL, email);
87 | }
88 |
89 | /**
90 | * 校验汉字
91 | *
92 | * @param chinese
93 | * @return 校验通过返回true,否则返回false
94 | */
95 | public static boolean isChinese(String chinese) {
96 | return Pattern.matches(REGEX_CHINESE, chinese);
97 | }
98 |
99 | /**
100 | * 校验身份证
101 | *
102 | * @param idCard
103 | * @return 校验通过返回true,否则返回false
104 | */
105 | public static boolean isIDCard(String idCard) {
106 | return Pattern.matches(REGEX_ID_CARD, idCard);
107 | }
108 |
109 | /**
110 | * 校验URL
111 | *
112 | * @param url
113 | * @return 校验通过返回true,否则返回false
114 | */
115 | public static boolean isUrl(String url) {
116 | return Pattern.matches(REGEX_URL, url);
117 | }
118 |
119 | /**
120 | * 校验IP地址
121 | *
122 | * @param ipAddr
123 | * @return
124 | */
125 | public static boolean isIPAddr(String ipAddr) {
126 | return Pattern.matches(REGEX_IP_ADDR, ipAddr);
127 | }
128 | }
129 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/application.yaml:
--------------------------------------------------------------------------------
1 | spring:
2 | datasource:
3 | driver-class-name: com.mysql.jdbc.Driver
4 | username: root
5 | password: 123456
6 | url: jdbc:mysql://localhost:3306/spark_movie?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8
7 | type: com.alibaba.druid.pool.DruidDataSource
8 |
9 | logging:
10 | level:
11 | com:
12 | movie:
13 | debug
14 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/css/home.css:
--------------------------------------------------------------------------------
1 | body{ background:#eeeeee url(../images/bgm.jpg) center top; background-size:cover;color:#ffffff;font-size: .1rem;}
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/css/login.css:
--------------------------------------------------------------------------------
1 | body{ background-color:#eeeeee;background-image: url("/images/bgm.jpg")}
2 | .login
3 | {
4 | margin: 200px auto 0 auto;
5 | min-height: 420px;
6 | max-width: 420px;
7 | padding: 40px;
8 | background-color: #ffffff;
9 | margin-left: auto;
10 | margin-right: auto;
11 | border-radius: 4px;
12 | box-sizing: border-box;
13 | box-shadow: 3px 3px 3px #000;
14 |
15 | }
16 | hr.hr15{
17 | height: 15px;
18 | border: none;
19 | margin: 0px;
20 | padding: 0px;
21 | width: 100%;
22 | }
23 | input[type=text], input[type=password],
24 | select {
25 | border: 1px solid #b60e44;
26 | vertical-align: middle;
27 | border-radius: 3px;
28 | height: 50px;
29 | width: 90%;
30 | padding: 0px 16px;
31 | font-size: 14px;
32 | color: #555555;
33 | outline: none;
34 | }
35 | input[type=text]:focus, input[type=password]:focus,
36 | select:focus {
37 | border: 1px solid #b60e44;
38 | }
39 |
40 | input[type=submit], input[type=button]
41 | {
42 | display: inline-block;
43 | vertical-align: middle;
44 | padding: 12px 24px;
45 | margin: 0px;
46 | font-size: 18px;
47 | line-height: 24px;
48 | text-align: center;
49 | white-space: nowrap;
50 | cursor: pointer;
51 | background-color: #b60e44;
52 | border-radius: 3px;
53 | color: #ffffff;
54 | border: none;
55 | -webkit-appearance: none;
56 | outline: none;
57 | width: 100%;
58 | letter-spacing: 15px;
59 | }
60 |
61 | .message{
62 | padding: 18px 10px 18px 60px;
63 | background: #b60e44;
64 | position: relative;
65 | color: #ffffff;
66 | font-size: 18px;
67 | font-weight: bold;
68 | }
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/css/reg.css:
--------------------------------------------------------------------------------
1 | body{ background-color:#eeeeee;background-image: url("/images/bgm.jpg")}
2 | input[type=text], input[type=password],
3 | select {
4 | border: 1px solid #b60e44;
5 | vertical-align: middle;
6 | border-radius: 3px;
7 | height: 30px;
8 | width: 70%;
9 | padding: 0px 16px;
10 | font-size: 14px;
11 | color: #555555;
12 | outline: none;
13 | }
14 |
15 | input[type=text]:focus, input[type=password]:focus,
16 | select:focus {
17 | border: 1px solid #b60e44;
18 | }
19 |
20 | input[type=submit], input[type=button], input[type=reset] {
21 | display: inline-block;
22 | vertical-align: middle;
23 | padding: 12px 24px;
24 | margin: 0px;
25 | font-size: 18px;
26 | line-height: 20px;
27 | text-align: center;
28 | white-space: nowrap;
29 | cursor: pointer;
30 | background-color: #b60e44;
31 | border-radius: 3px;
32 | color: #ffffff;
33 | border: none;
34 | -webkit-appearance: none;
35 | outline: none;
36 | width: 35%;
37 | letter-spacing: 15px;
38 | }
39 |
40 | .tdright {
41 | padding: 10px;
42 | text-align: right;
43 | }
44 |
45 | .message {
46 | margin: 10px 0 0 -58px;
47 | padding: 18px 10px 18px 60px;
48 | position: relative;
49 | color: #b60e44;
50 | font-size: 18px;
51 | font-weight: bold;
52 | }
53 |
54 | .tocenter {
55 | margin-top: 15%;
56 | margin-left: 38%
57 | }
58 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/home.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 主页
6 |
7 |
8 |
9 | 基于Spark的豆瓣电影数据分析系统
10 |
11 |
12 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/images/bgm.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie_web/src/main/resources/static/images/bgm.jpg
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/layui/css/modules/code.css:
--------------------------------------------------------------------------------
1 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #eee;border-left-width:6px;background-color:#FAFAFA;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:40px;line-height:40px;border-bottom:1px solid #eee}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 10px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view .layui-code-ol li:first-child{padding-top:10px}.layui-code-view .layui-code-ol li:last-child{padding-bottom:10px}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}.layui-code-demo .layui-code{visibility:visible!important;margin:-15px;border-top:none;border-right:none;border-bottom:none}.layui-code-demo .layui-tab-content{padding:15px;border-top:none}
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/layui/css/modules/laydate/default/laydate.css:
--------------------------------------------------------------------------------
1 | .laydate-set-ym,.layui-laydate,.layui-laydate *,.layui-laydate-list{box-sizing:border-box}html #layuicss-laydate{display:none;position:absolute;width:1989px}.layui-laydate *{margin:0;padding:0}.layui-laydate{position:absolute;z-index:66666666;margin:5px 0;border-radius:2px;font-size:14px;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;animation-name:laydate-downbit}.layui-laydate-main{width:272px}.layui-laydate-content td,.layui-laydate-header *,.layui-laydate-list li{transition-duration:.3s;-webkit-transition-duration:.3s}@keyframes laydate-downbit{0%{opacity:.3;transform:translate3d(0,-5px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}.layui-laydate-static{position:relative;z-index:0;display:inline-block;margin:0;-webkit-animation:none;animation:none}.laydate-ym-show .laydate-next-m,.laydate-ym-show .laydate-prev-m{display:none!important}.laydate-ym-show .laydate-next-y,.laydate-ym-show .laydate-prev-y{display:inline-block!important}.laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-time-show .layui-laydate-header .layui-icon,.laydate-ym-show .laydate-set-ym span[lay-type=month]{display:none!important}.layui-laydate-header{position:relative;line-height:30px;padding:10px 70px 5px}.layui-laydate-header *{display:inline-block;vertical-align:bottom}.layui-laydate-header i{position:absolute;top:10px;padding:0 5px;color:#999;font-size:18px;cursor:pointer}.layui-laydate-header i.laydate-prev-y{left:15px}.layui-laydate-header i.laydate-prev-m{left:45px}.layui-laydate-header i.laydate-next-y{right:15px}.layui-laydate-header i.laydate-next-m{right:45px}.laydate-set-ym{width:100%;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.laydate-set-ym span{padding:0 10px;cursor:pointer}.laydate-time-text{cursor:default!important}.layui-laydate-content{position:relative;padding:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-laydate-content table{border-collapse:collapse;border-spacing:0}.layui-laydate-content td,.layui-laydate-content th{width:36px;height:30px;padding:5px;text-align:center}.layui-laydate-content td{position:relative;cursor:pointer}.laydate-day-mark{position:absolute;left:0;top:0;width:100%;line-height:30px;font-size:12px;overflow:hidden}.laydate-day-mark::after{position:absolute;content:'';right:2px;top:2px;width:5px;height:5px;border-radius:50%}.layui-laydate-footer{position:relative;height:46px;line-height:26px;padding:10px}.layui-laydate-footer span{display:inline-block;vertical-align:top;height:26px;line-height:24px;padding:0 10px;border:1px solid #C9C9C9;border-radius:2px;background-color:#fff;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .3s}.layui-laydate-list>li,.layui-laydate-range .layui-laydate-main{display:inline-block;vertical-align:middle}.layui-laydate-footer span:hover{color:#5FB878}.layui-laydate-footer span.layui-laydate-preview{cursor:default;border-color:transparent!important}.layui-laydate-footer span.layui-laydate-preview:hover{color:#666}.layui-laydate-footer span:first-child.layui-laydate-preview{padding-left:0}.laydate-footer-btns{position:absolute;right:10px;top:10px}.laydate-footer-btns span{margin:0 0 0 -1px}.layui-laydate-list{position:absolute;left:0;top:0;width:100%;height:100%;padding:10px;background-color:#fff}.layui-laydate-list>li{position:relative;width:33.3%;height:36px;line-height:36px;margin:3px 0;text-align:center;cursor:pointer}.laydate-month-list>li{width:25%;margin:17px 0}.laydate-time-list>li{height:100%;margin:0;line-height:normal;cursor:default}.laydate-time-list p{position:relative;top:-4px;line-height:29px}.laydate-time-list ol{height:181px;overflow:hidden}.laydate-time-list>li:hover ol{overflow-y:auto}.laydate-time-list ol li{width:130%;padding-left:33px;height:30px;line-height:30px;text-align:left;cursor:pointer}.layui-laydate-hint{position:absolute;top:115px;left:50%;width:250px;margin-left:-125px;line-height:20px;padding:15px;text-align:center;font-size:12px}.layui-laydate-range{width:546px}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content,.layui-laydate-range .laydate-main-list-1 .layui-laydate-header{border-left:1px solid #e2e2e2}.layui-laydate,.layui-laydate-hint{border:1px solid #d2d2d2;box-shadow:0 2px 4px rgba(0,0,0,.12);background-color:#fff;color:#666}.layui-laydate-header{border-bottom:1px solid #e2e2e2}.layui-laydate-header i:hover,.layui-laydate-header span:hover{color:#5FB878}.layui-laydate-content{border-top:none 0;border-bottom:none 0}.layui-laydate-content th{font-weight:400;color:#333}.layui-laydate-content td{color:#666}.layui-laydate-content td.laydate-selected{background-color:#B5FFF8}.laydate-selected:hover{background-color:#00F7DE!important}.layui-laydate-content td:hover,.layui-laydate-list li:hover{background-color:#eee;color:#333}.laydate-time-list li ol{margin:0;padding:0;border:1px solid #e2e2e2;border-left-width:0}.laydate-time-list li:first-child ol{border-left-width:1px}.laydate-time-list>li:hover{background:0 0}.layui-laydate-content .laydate-day-next,.layui-laydate-content .laydate-day-prev{color:#d2d2d2}.laydate-selected.laydate-day-next,.laydate-selected.laydate-day-prev{background-color:#f8f8f8!important}.layui-laydate-footer{border-top:1px solid #e2e2e2}.layui-laydate-hint{color:#FF5722}.laydate-day-mark::after{background-color:#5FB878}.layui-laydate-content td.layui-this .laydate-day-mark::after{display:none}.layui-laydate-footer span[lay-type=date]{color:#5FB878}.layui-laydate .layui-this{background-color:#009688!important;color:#fff!important}.layui-laydate .laydate-disabled,.layui-laydate .laydate-disabled:hover{background:0 0!important;color:#d2d2d2!important;cursor:not-allowed!important;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.laydate-theme-molv{border:none}.laydate-theme-molv.layui-laydate-range{width:548px}.laydate-theme-molv .layui-laydate-main{width:274px}.laydate-theme-molv .layui-laydate-header{border:none;background-color:#009688}.laydate-theme-molv .layui-laydate-header i,.laydate-theme-molv .layui-laydate-header span{color:#f6f6f6}.laydate-theme-molv .layui-laydate-header i:hover,.laydate-theme-molv .layui-laydate-header span:hover{color:#fff}.laydate-theme-molv .layui-laydate-content{border:1px solid #e2e2e2;border-top:none;border-bottom:none}.laydate-theme-molv .laydate-main-list-1 .layui-laydate-content{border-left:none}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li,.laydate-theme-grid .layui-laydate-content td,.laydate-theme-grid .layui-laydate-content thead,.laydate-theme-molv .layui-laydate-footer{border:1px solid #e2e2e2}.laydate-theme-grid .laydate-selected,.laydate-theme-grid .laydate-selected:hover{background-color:#f2f2f2!important;color:#009688!important}.laydate-theme-grid .laydate-selected.laydate-day-next,.laydate-theme-grid .laydate-selected.laydate-day-prev{color:#d2d2d2!important}.laydate-theme-grid .laydate-month-list,.laydate-theme-grid .laydate-year-list{margin:1px 0 0 1px}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li{margin:0 -1px -1px 0}.laydate-theme-grid .laydate-year-list>li{height:43px;line-height:43px}.laydate-theme-grid .laydate-month-list>li{height:71px;line-height:71px}
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/layui/css/modules/layer/default/icon-ext.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie_web/src/main/resources/static/layui/css/modules/layer/default/icon-ext.png
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/layui/css/modules/layer/default/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie_web/src/main/resources/static/layui/css/modules/layer/default/icon.png
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/layui/css/modules/layer/default/loading-0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie_web/src/main/resources/static/layui/css/modules/layer/default/loading-0.gif
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/layui/css/modules/layer/default/loading-1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie_web/src/main/resources/static/layui/css/modules/layer/default/loading-1.gif
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/layui/css/modules/layer/default/loading-2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie_web/src/main/resources/static/layui/css/modules/layer/default/loading-2.gif
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/layui/font/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie_web/src/main/resources/static/layui/font/iconfont.eot
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/layui/font/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie_web/src/main/resources/static/layui/font/iconfont.ttf
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/layui/font/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie_web/src/main/resources/static/layui/font/iconfont.woff
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/static/layui/font/iconfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/spark_movie_web/src/main/resources/static/layui/font/iconfont.woff2
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 首页
7 |
8 |
9 |
10 |
11 |
12 |
15 |
16 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/templates/login.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | 用户登录
7 |
8 |
9 |
10 |
24 |
25 |
--------------------------------------------------------------------------------
/spark_movie_web/src/main/resources/templates/register.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | 注册
7 |
8 |
9 |
10 |
45 |
46 |
--------------------------------------------------------------------------------
/关于系统.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/Python_Spark_Analysis_DoubanMovie_Crawler/4ab7acef95d1129f0250fd14de80ebb9f5d612ef/关于系统.txt
--------------------------------------------------------------------------------