首页
关于
留言
壁纸
更多
直播
统计
友链
Search
1
面试常见问题100问
190 阅读
2
最新Navicat 15 for MySQL破解+教程 正确破解步骤
179 阅读
3
一个人要走的时候,千万别问原因
162 阅读
4
好用的软件分享
142 阅读
5
直击心灵的唯美句子
119 阅读
日常记录
后端
PHP
NodeJs
Python
Java
前端
JavaScript
数据库
MySQL
服务器
美文
微信开发
微信公众号
微信小程序
登录
Search
标签搜索
mysql
python
django
express
面试
axios
thinkphp
PHP
励志
哲理
九九乘法表
node
cors
跨域
唯美句子
美文
文件上传
ajax
算法
jwt
公子初心
累计撰写
68
篇文章
累计收到
9
条评论
首页
栏目
日常记录
后端
PHP
NodeJs
Python
Java
前端
JavaScript
数据库
MySQL
服务器
美文
微信开发
微信公众号
微信小程序
页面
关于
留言
壁纸
直播
统计
友链
搜索到
31
篇与
的结果
2024-04-26
获取豆瓣电影所有分类下的所有电影下的每部电影的前100条好评
# 导入xpath模块 用于解析页面数据 from lxml import etree # 导入系统模块 用于自动创建目录 import os # 导入requests模块用于发送http请求 import requests import json # 发起请求获取数据 def get_content(url,data=[],ispost=0): # user-agent 设置头信息 模拟浏览器访问 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36", } if ispost: response = requests.post(url=url, headers=headers,data=data) else: response = requests.get(url=url, headers=headers) response.encoding = response.apparent_encoding return response.text # 根据电影Id获取电影的评论 def getCommentByMovieId(typeName,movieId,limit=100): try: url = f"https://movie.douban.com/subject/{movieId}/comments?percent_type=h&limit={limit}&status=P&sort=new_score" # 发送请求 获取页面源码 result = get_content(url) # 获取数据 etree1 = etree.HTML(result) # xpath解析 # 标题 title = etree1.xpath("//h1/text()")[0] # 评论人 authors = etree1.xpath("//span[@class='comment-info']/a/text()") # 评论时间 times = etree1.xpath("//span[@class='comment-info']/span[@class='comment-time ']/text()") # 评论内容 contents = etree1.xpath("//span[@class='short']/text()") moviePath = f"./movieCommentData/{typeName}" if not os.path.exists(moviePath): os.makedirs(moviePath) # 依次遍历,输出数据 s = "=" print(f"{s * 30}正在获取电影【{title}】{s * 30}") for i in range(len(authors)): print(f"评论人:'{authors[i]}'---评论内容:'{contents[i]}---评论时间:'{times[i].strip()}''") filename = moviePath + '/' + title + '.txt' with open(filename, 'a+', encoding="utf-8") as f: f.write(f"评论人:'{authors[i]}'---评论内容:'{contents[i]}'---评论时间:'{times[i].strip()}'\n") f.close() print(f"{s * 30}电影【{title}】获取完毕{s * 30}") except: pass url = "https://movie.douban.com/chart" # 发送请求 获取页面源码 result = get_content(url) # 获取数据 etree1 = etree.HTML(result) # xpath解析 typeUrl = etree1.xpath("//div[@class='types']/span/a/@href") typeUrlList = [] for url in typeUrl: typeName = url.split("&")[0].split('=')[1] print(f"正在获取【{typeName}】分类下的电影信息......") typeId = url.split("&")[1].split("=")[1] # 根据电影分类获取此分类下的电影总数 totalUrl = f"https://movie.douban.com/j/chart/top_list_count?type={typeId}&interval_id=100%3A90&action=" # 获取到此分类下的电影总数量 movieTotal = json.loads(get_content(totalUrl))['total'] print(f"{typeName}分类下的电影一共有{movieTotal}部") # 根据电影总数量依次获取这些电影 for i in range(movieTotal+1): baseUrl = f"https://movie.douban.com/j/chart/top_list?type={typeId}&interval_id=100%3A90&action=&start={i}&limit=1" movieInfo = json.loads(get_content(baseUrl))[0] # 获取电影Id movieId = movieInfo['id'] getCommentByMovieId(typeName,movieId)
2024年04月26日
19 阅读
0 评论
1 点赞
2024-04-26
根据电影id获取豆瓣电影下的前100条好评
movies = [1291546,6973376] # 导入xpath模块 用于解析页面数据 from lxml import etree # 导入系统模块 用于自动创建目录 import os # 导入requests模块用于发送http请求 import requests # 发起请求获取数据 def get_content(url,data=[],ispost=0): # user-agent 设置头信息 模拟浏览器访问 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36", } if ispost: response = requests.post(url=url, headers=headers,data=data) else: response = requests.get(url=url, headers=headers) response.encoding = response.apparent_encoding return response.text limit = 100 # 遍历电影列表数据,获取电影id for movieId in movies: url = f"https://movie.douban.com/subject/{movieId}/comments?percent_type=h&limit={limit}&status=P&sort=new_score" # 发送请求 获取页面源码 result = get_content(url) # 获取数据 etree1 = etree.HTML(result) # xpath解析 # 标题 title = etree1.xpath("//h1/text()")[0] # 评论人 authors = etree1.xpath("//span[@class='comment-info']/a/text()") # 评论时间 times = etree1.xpath("//span[@class='comment-info']/span[@class='comment-time ']/text()") print(times) # 评论内容 contents = etree1.xpath("//span[@class='short']/text()") moviePath = "./movieCommentData/" if not os.path.exists(moviePath): os.makedirs(moviePath) # 依次遍历,输出数据 s = "=" print(f"{s*30}正在获取电影【{title}】{s*30}") for i in range(len(authors)): print(f"评论人:'{authors[i]}'---评论内容:'{contents[i]}---评论时间:'{times[i].strip()}''") filename = moviePath+'/'+ title + '.txt' with open(filename, 'a+', encoding="utf-8") as f: f.write(f"评论人:'{authors[i]}'---评论内容:'{contents[i]}'---评论时间:'{times[i].strip()}'\n") f.close() print(f"{s*30}电影【{title}】获取完毕{s*30}")
2024年04月26日
4 阅读
0 评论
0 点赞
2024-03-21
npm安装webpack时遇到卡顿的情况
npm安装webpack时遇到卡顿的情况idealTree:webpackdemo: sill idealTree buildDeps解决办法:删除npmsrc 清除缓存 命令行找到其所在位置,删除此文件 npm config get userconfig清除缓存 npm cache clear --force有可能是之前的镜像源停止解析了,所有要更换最新的 npm config set registry https://registry.npmmirror.com查看当前镜像源确保更换成功npm config get registry重新安装npm i webpack webpack-cli --sav-dev
2024年03月21日
28 阅读
0 评论
0 点赞
2024-03-17
Python字典列表实现学生信息管理系统
# 需求:学生管理系统 实现 对学生的增删改查 students = [] def getIndexByStuId(stuId): for student in students: if stuId == student['stuId']: # 获取到这个字典对应的索引 return students.index(student) # 欢迎 def welcome(): msg = """ 欢迎使用<学生信息管理系统> 1.查询所有学生信息 2.添加 3.删除 4.修改 5.退出 """ return input(msg) # 查询 def show(): print("----------------正在[查询]--------------------") if students: print("学号\t\t\t名字\t\t\t年龄") for student in students: print(f"{student['stuId']}\t\t{student['name']}\t\t\t{student['age']}") else: print("暂无学生信息,请添加") # 添加 def add(): print("----------------正在[添加]--------------------") # 依次获取用户输入的数据 # 存到字典中 student = {} # 获取用户的学号后,要去查一查此学号是否存在 如果存在则提示用户重新输入 如果不存在 则正常添加 while True: stuId = input("请输入学号:") i = getIndexByStuId(stuId) if i == None: student['stuId'] = stuId student['name'] = input("请输入名字:") student['age'] = int(input("请输入年龄:")) # print(student) # 把字典添加到列表 students.append(student) break else: print("请重新输入新的学号") # 删除 def delete(): print("----------------正在[删除]--------------------") while True: # 接收学号 stuId = input('请输入想要删除的学生的学号') # 获取索引 i = getIndexByStuId(stuId) if i == None: print("学号不存在,请重新输入") else: students.pop(i) print("删除成功") break # for student in students: # if stuId == student['stuId']: # break # # 删除 # students.remove(student) # print(students) # 修改 def update(): print("----------------正在[修改]--------------------") while True: # 接收学号 user_input = input('请输入想要修改的学生的学号(如果想退出请输入"q")') if user_input == 'q': break i = getIndexByStuId(user_input) # None if i == None: print("学号不存在,请重新输入(如果想退出请输入'q')") else: # 根据列表的索引找到列表中的字典 while True: stuId = input(f"请输入新的学号({students[i]['stuId']})[回车表示不修改]") # 根据学号查询索引 index = getIndexByStuId(stuId) if i != index: print("学生id已存在") else: break name = input(f"请输入新的姓名({students[i]['name']})[回车表示不修改]") age = input(f"请输入新的年龄({students[i]['age']})[回车表示不修改]") # # 如果为true说明改了,如果为false说明没改 students[i]['stuId'] = stuId if stuId else students[i]['stuId'] students[i]['name'] = name if name else students[i]['name'] students[i]['age'] = age if age else students[i]['age'] break print(students) pass while True: # 欢迎 num = welcome() match num: case '1': show() case '2': add() case '3': # 查看列表中是否有数据,如果有才往下执行 if students: show() delete() show() else: print("暂无数据,请添加") case '4': # 查看列表中是否有数据,如果有才往下执行 if students: show() update() else: print("暂无数据,请添加") case '5': print("欢迎下次使用") break case _: print("输入有误,请重新输入")
2024年03月17日
23 阅读
0 评论
0 点赞
2024-03-17
PHP实现万年历
<style> * { margin: 0; padding: 0; } .box { display: flex; border: 1px solid red; flex-wrap: wrap; justify-content: center; } table { width: 20%; height: 300px; background: pink; margin: 5px; } td { text-align: center; } .tr1 { font-size: 20px; color: red; } .active { color: blue; } .h1 { text-align: center; font-weight: 100; color: blueviolet; } </style> <?php $year = 2025; // 获取当前的年月 $month = date('n'); $d = date('d'); $html="<h1 class='h1'>{$year}年万年历</h1>"; $html .= "<div class='box'>"; // 1.因为每一年都有12个月,所以要循环12次,每月都是1个table表格 for($m=1;$m<=12;$m++){ $html.= "<table>"; // 输出年月 $html.="<tr class='tr1'><th colspan='7'>{$year} 年 {$m} 月</th></tr>"; // 输出星期几 $html.="<tr><td>日</td><td>一</td><td>二</td><td>三</td> <td>四</td><td>五</td><td>六</td></tr>"; // 每个月开头输出对应的空td 获取指定的年月1号对应是星期几? $week = date("w",strtotime("$year-$m-1")); $html .="<tr>"; for($i=1;$i<=$week;$i++){ $html.= "<td></td>"; } // 根据年月获取对应的这个月的总天数 $days= date("t",strtotime("$year-$m")); for($j=1;$j<=$days;$j++,$i++){ // 如果是7的倍数就该换行了 // 必须是当前这个月的当前这个日 if( $month == $m and $j == $d ){ $html.="<td class='active'>{$j}</td>"; }else{ $html.="<td>{$j}</td>"; } if($i%7==0){ $html.= "</tr>"; } } $html.= "</table>"; } $html .="</div>"; echo $html;
2024年03月17日
16 阅读
0 评论
0 点赞
2023-12-19
04-创建自己的第一个model
1.修改mysql的配置信息 settings.py 编辑DATABASES 默认sqlite3改成修改mysql2.cmd 命令行安装mysqlclient 命令:pip install mysqlclient3.打开blog项目里面的models.py 创建自己的model类 Article为表名 继承models.Model4.完成数据迁移 python manage.py makemigrations app名称(可选 不写默认所有应用)5.继续执行python manage.py migrate 来创建表6.最终会在migrations 里生成0001_initial.py 看到字段结构7.命令python manage.py sqlmigrate blog 0001 查看建表语句8.查看数据表 已经创建成功9.手动写入一条记录,读取,模板中展示
2023年12月19日
38 阅读
0 评论
0 点赞
2023-12-19
03-开发第一个Templates
1.在自己的blog应用中创建templates 目录,在里面创建本应用名称的目录(blog)创建模板文件index.html2.指定可以访问模板的配置在views.py文件内 修改返回值 render() 第一个参数request,第二个参数调用模板路径,第三个参数,字典形式传输数据,模板中直接{{}} 输出
2023年12月19日
16 阅读
0 评论
0 点赞
2023-12-19
02-Django创建第一个项目
第一种方式来访问第一个页面(不常用)1.blog/views.pyfrom django.http import HttpResponse def index(request): return HttpResponse('hello world')2.myblog/urls.pyimport blog.views as bv urlpatterns = [ path('admin/', admin.site.urls), path('index/', bv.index), path('zhang/', bv.zhang), ]3.直接url访问第二种方式来访问第一个页面(常用)1.在blog/views.pyfrom django.http import HttpResponse def index(request): return HttpResponse('你好,世界')2.myblog/urlsfrom django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('blog/', include('blog.urls')), *index主目录* ]3.在blog/里创建urls.pyfrom django.urls import path from . import views urlpatterns = [ path('/index, views.index),*index子目录* ]4.访问127.0.0.1:8000/blog
2023年12月19日
33 阅读
0 评论
0 点赞
2023-12-19
01-python安装Django-创建应用
1.windows 按照djangopip install Django== 2.02.创建项目工程Django-admin命令 Django-admin startproject myblog (项目名称)或者我们可以可以使用pycharm来创建Django项目查看manage.py常用命令 可以 python manage.py 查看如果想要修改端口号 python manage.py 9999 3.创建属于自己的应用python manage.py startapp blog 4.将应用添加添加到 INSTALLED_APPS = ['blog']
2023年12月19日
31 阅读
0 评论
0 点赞
2023-12-18
htaccess如何配置隐藏index.php
1.Apache服务器htaccess如何配置隐藏index.php文件<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L] </IfModule>2.Nginx服务器htaccess如何配置隐藏index.php文件server { listen 80; #listen [::]:80 default_server ipv6only=on; server_name jiqing.dexin.com; index index.html index.htm index.php admin.php; root /home/wwwroot/default/dexin/dragon/public; #error_page 404 /404.html; include enable-php-pathinfo.conf; location /nginx_status { stub_status on; access_log off; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /\. { deny all; } /* 起作用 location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; } } */ access_log /home/wwwlogs/access.log; }
2023年12月18日
45 阅读
0 评论
0 点赞
1
2
...
4