当前位置: 首页 > news >正文

专业网页制作与网站设计网站模板制作流程

专业网页制作与网站设计,网站模板制作流程,建设部建造师网站,wordpress 文章关联视频展示#xff0c;请点击。 尚硅谷案例 utllib的基本使用 # 使用urllib来获取百度首页的源码 import urllib.request# (1)定义一个url 就是你要访问的地址 url http://www.baidu.com# (2)模拟浏览器先服务器发送请求 response响应 response urllib.request.urlopen(url)…视频展示请点击。 尚硅谷案例 utllib的基本使用 # 使用urllib来获取百度首页的源码 import urllib.request# (1)定义一个url 就是你要访问的地址 url http://www.baidu.com# (2)模拟浏览器先服务器发送请求 response响应 response urllib.request.urlopen(url)# (3)获取响应中的页面的源码 # read方法 返回的是字节形式的二进制数据 # 我们要将二进制转化为字符串 # 二进制--》字符串 解码 decode(编码的格式) content response.read().decode(utf-8)# (4)打印数据 print(content)一个类型和六个方法 一个类型 HTTPResponse 六个方法 read readline readlines getcode geturl getheadersimport urllib.requesturl http://www.baidu.com# 模拟浏览器先服务器发送请求 response响应 response urllib.request.urlopen(url)# 一个类型和六个方法 # response是HTTPResponse的类型 # print(type(response))# 按照一个字节一个字节的去读 # content response.read() # print(content)# 返回多少个字节 # content response.read(5) # print(content)# 读取一行 # content response.readline() # print(content)# content response.readlines() # print(content)#返回状态码 如果是200了 那么就证明我们的逻辑没有错误 # print(response.getcode())# 返回url地址 # print(response.geturl())# 获取是一些状态信息 # print(response.getheaders())下载 import urllib.request# 下载网页 url_page http://www.baidu.com# url代表的是下载的路径 filename文件的名字 # 在python中可以是变量的名字 也可以直接书写 urllib.request.urlretrieve(url_page, baidu.html)# 下载图片 url_img https://tse1-mm.cn.bing.net/th/id/OIP-C.zzaLy_4i4zzfAWPn03AkdgHaFI?w194h135c7r0o5dpr1.6pid1.7 urllib.request.urlretrieve(url_img, lusi.png) url_img https://tse3-mm.cn.bing.net/th/id/OIP-C.PijFe6ZDMUUR-95IU5W_dwHaNK?w187h333c7r0o5dpr1.6pid1.7 urllib.request.urlretrieve(urlurl_img, filenamelusi2.png)# 下载视频 url_video https://vd4.bdstatic.com/mda-me989nuvejzc5iws/sc/cae_h264_nowatermark/1620626259198934606/mda-me989nuvejzc5iws.mp4?v_from_shkapp-haokan-hbfauth_key1692513321-0-0-486766e5a214bed80f7b6de930400603bcevod_channelsearchbox_feedcr2cd0pd1pt3logid2121127810vid16710300024974486498klogid2121127810abtest111803_1-112162_1-112345_2 urllib.request.urlretrieve(url_video, lunyi.mp4)请求对象的定制(遇到了反爬) import urllib.requesturl https://www.baidu.com# url的组成 # http/https www.baidu.com s wd周杰伦 # # 协议 主机 端口号 路径 参数 锚点headers {User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Mobile Safari/537.36 Edg/115.0.1901.203 }# 请求对象的定制《因为urlopen方法中不能存储字典 所以headers不能传递进去 request urllib.request.Request(urlurl, headersheaders)response urllib.request.urlopen(request)content response.read().decode(utf-8)print(content)编码集的演变 # https://www.baidu.com/s?wd%E5%91%A8%E6%9D%B0%E4%BC%A6# 需求 获取 https://www.baidu.com/s?wd周杰伦的网页源码import urllib.requesturl https://www.baidu.com/s?wd周杰伦headers {User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Mobile Safari/537.36 Edg/115.0.1901.203 }request urllib.request.Request(url, headers)response urllib.request.urlopen(request)content response.read().decode(utf-8)print(content)UnicodeEncodeError: ascii codec cant encode characters in position 11-13: ordinal not in range(128)解决方法 # https://www.baidu.com/s?wd%E5%91%A8%E6%9D%B0%E4%BC%A6# 需求 获取 https://www.baidu.com/s?wd周杰伦的网页源码import urllib.requesturl https://www.baidu.com/s?wd# 将周杰伦三个字变成Unicode编码的格式 # 我们需要依赖于urllib.parse name urllib.parse.quote(周杰伦)url url nameheaders {User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Mobile Safari/537.36 Edg/115.0.1901.203 }request urllib.request.Request(urlurl, headersheaders)response urllib.request.urlopen(request)content response.read().decode(utf-8)print(content)IT私塾案例 爬虫 Beautiful Soup import re import urllib.requestfrom bs4 import BeautifulSoupurl http://www.baidu.com response urllib.request.urlopen(url) html response.read() bs BeautifulSoup(html, html.parser) # print(bs.title) # print(bs.a) # # print(type(bs.head)) # class bs4.element.Tag # 1.Tag 标签及其内容拿到它所找到的第一个内容 # # print(bs.title.string) # # print(type(bs.title.string)) # 2.NavigableString 标签里的内容(字符串) # # print(bs.a.attrs)# print(type(bs)) # 3.BeautifulSoup 表示整个文档 # print(bs.name) # print(bs)# ---------------------------------- # 文档的遍历 更多内容 搜索文档 # print(bs.head.contents[1])# 文档的搜索 # (1)find_all() # 字符串过滤会查找与字符串完全匹配的内容 # t_list bs.find_all(a) # print(t_list)# 正则表达式搜索使用search()方法来匹配内容 # t_list bs.find_all(re.compile(a))# 2.kwargs 参数 # t_list bs.find(idhead) # # t_list bs.find(class_True) # for item in t_list: # print(item)# 3.text文本 # 4.选择器 # t_list bs.select(title) # 通过标签来查找 # t_list bs.select(.mnav) # 通过类名来查找 # t_list bs.select(#u1) # 通过id来查找 # for item in t_list: # print(item)正则表达式 豆瓣案例(爬虫) from bs4 import BeautifulSoup # 网页解析获取数据 import re # 正则表达式进行文字匹配 import urllib.request, urllib.error # 制定URL获取页面数据 import xlwt # 进行excel操作 import sqlite3 # 进行SQLite数据库操作def main():baseurl https://movie.douban.com/top250?start# 1.爬取网页datalist getData(baseurl)savepath 豆瓣电影Top250.xls# 3.保存数据saveData(datalist, savepath)# 影片详情链接的规则 findLink re.compile(ra href(.*?)) # 创建正则表达式对象表示规则(字符串的模式) # 影片图片 findImgsrc re.compile(rimg.*src(.*?), re.S) # re.S 让换行符包含在字符中 # 影片片名 findTitle re.compile(rspan classtitle(.*)/span) # 影片评分 findRating re.compile(rspan classrating_num propertyv:average(.*)/span) # 找到评价人数 findJudge re.compile(rspan(\d*)人评价/span) # 找到概况 findIng re.compile(rspan classinq(.*)/span) # 找到影片的相关内容 findBd re.compile(rp class(.*?)/p, re.S)# 爬取网页 def getData(baseurl):datalist []for i in range(0, 10): # 调用获取页面信息的函数10次url baseurl str(i * 25)html askURL(url) # 保存获取到的网页源码# 2.逐一解析数据soup BeautifulSoup(html, html.parser)for item in soup.find_all(div, class_item): # 查询符合条件的字符串形成列表# print(item) # 测试查看电影item全部信息data []item str(item)# 影片详情的链接link re.findall(findLink, item)[0] # re库用来通过正则表达式查找指定的字符串data.append(link) # 添加链接imgSrc re.findall(findImgsrc, item)[0]data.append(imgSrc) # 添加图片titles re.findall(findTitle, item)if len(titles) 2:ctitle titles[0] # 添加中文名称data.append(ctitle) # 添加外国名称otitle titles[1].replace(/, ) # 去掉无关的符号data.append(otitle)else :data.append(titles[0]) # 添加中文名称data.append( ) # 外国名称留空rating re.findall(findRating, item)[0]data.append(rating) # 添加评分judgeNum re.findall(findJudge, item)[0]data.append(judgeNum) # 添加评论人数ing re.findall(findIng, item)if len(ing) ! 0:ing ing[0].replace(。, ) # 去掉句号data.append(ing) # 添加概述else :data.append( ) #留空bd re.findall(findBd, item)[0]bd re.sub(br(\s)?/(\s)?, , bd)bd re.sub(/, , bd)data.append(bd.strip())datalist.append(data) # 把处理好的一部电影的信息添加进去# for item in datalist:# print(item)return datalist# 得到指定一个URL的网页内容 def askURL(url):head {User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Mobile Safari/537.36 Edg/115.0.1901.203}request urllib.request.Request(url, headershead)html try:response urllib.request.urlopen(request)html response.read().decode(utf-8)# print(html)except urllib.error.URLError as e:if hasattr(e, code):print(e.code)if hasattr(e, reason):print(e.reason)return html# 保存数据 def saveData(datalist, savepath):book xlwt.Workbook(encodingutf-8, style_compression0) # 创建workbook对象sheet book.add_sheet(豆瓣电影Top250, cell_overwrite_okTrue) # 创建工作表col (电影详情链接, 图片链接, 影片中文名, 影片外国名, 评分, 评价数, 概况, 相关信息)for i in range(0, 8):sheet.write(0, i, col[i]) # 列名for i in range(0, 250):print(第%d条 %i)data datalist[i]for j in range(0, 8):sheet.write(i1,j,data[j])book.save(savepath)if __name__ __main__:main()数据可视化 Flask(app.py) from flask import Flask, render_template, request import datetimeapp Flask(__name__)# app.route(/) # def hello_world(): # return Hello World!app.route(/welcome/name) def welcome(name):return 你好%s%nameapp.route(/welcome/int:id) def welcome2(id):return 您好%d号会员%id# 返回给用户渲染后的网页文件 # app.route(/) # def index(): # return render_template(index.html)# 向页面传递一个变量 app.route(/) def index():time datetime.date.today() # 普通变量name [小张,小王,小赵] # 列表类型task {任务:打扫卫生,时间:三小时} # 字典类型return render_template(index.html, var time, list name, task task)# 表单提交 app.route(/test/register) def register():return render_template(test/register.html)app.route(/result, methods[POST,GET]) def result():if request.method POST:result request.formreturn render_template(test/result.html, resultresult)if __name__ __main__:app.run()Flask(index.html) !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head body欢迎光临,今天是{{ var }}br/今天值班的有:br/{% for data in list %} !--用大括号和百分号括起来是控制结构还有if--li{{ data }}/li{% endfor %}任务:br/ !--了解如何在页面打印表格--table border1{% for key,value in task.items() %}trtd{{ key }}/tdtd{{ value }}/td/tr{% endfor %}/table /body /htmlFlask(register.html) !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head body form action{{ url_for(result) }} methodpostp姓名input typetext name姓名/pp年龄input typetext name年龄/pp性别input typetext name性别/pp地址input typetext name地址/ppinput typesubmit value提交/p /form /body /htmlFlask(result.html) !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head bodytable border1{% for key,value in result.items() %}trth{{ key }}/thtd{{ value }}/td/tr{% endfor %}/table /body /html
http://www.zqtcl.cn/news/638233/

相关文章:

  • 福永自适应网站建设微信小程序功能开发
  • 制作一个动态企业网站狠狠做最新网站
  • 手机建立一个免费网站网页设计师培训方法
  • 广州工信部网站查询wordpress mysql类
  • 销售网站内容设计书籍管理网站建设需求文档
  • 韩国网站如何切换中文域名如何备案教程
  • 网站维护的基本概念二维码生成器使用方法
  • 公司网站建设模块简介搭建自己的网站需要什么
  • 想做个网站怎么做给国外网站做流量
  • 长春建站培训班免备案虚拟空间
  • 做面包的公司网站alexa世界排名查询
  • 网站备案后下一步做什么263邮箱注册
  • 燕郊网站制作廊坊网站制作网站
  • 开网站建设网站如何做excel预览
  • p2p网站建设方案电商企业有哪些
  • 建设农场网站天元建设集团有限公司法定代表人
  • 论坛网站建设价格百度广告官网
  • 网站开发有哪些语言ps做登录网站
  • 网站怎么做百度关键字搜索国外服务器做网站不能访问
  • 如何选择品牌网站建设做网站容易吧
  • 广州建网站比较有名的公司提升学历英语翻译
  • php网站开发视频教程厦门网站建设公司首选乐振
  • 网站推广项目微信小程序登陆入口
  • 建设部监理协会网站微信公众平台开发微网站
  • 莆田cms建站模板现在可以做网站么
  • windows 建网站湖北省最新消息今天
  • 手机商场网站制作在线看网站源码
  • 云南建设厅网站房地产开发资质做哪一类网站能赚钱
  • 佛山优化网站关键词创作者服务平台
  • python做网站多少钱超级商城系统