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

专业的培训行业网站制作天水建设网站

专业的培训行业网站制作,天水建设网站,免费建自己的网址,重庆网站建设制作设计公司视频展示#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.hkea.cn/news/14508672/

相关文章:

  • 想做个人域名网站怎么做画廊网站建设
  • 购物网站的建设思维导图全网营销有哪些平台
  • 网站用什么字体wordpress wp super
  • 网站建设与管理报告书qq网页即时聊天
  • 表格网站怎么做杭州怎么做网站
  • 兰州网站建设方法wordpress首页没有显示文章图片
  • 成都企业网站建设价格做一个网上商城网站建设费用多少
  • 怎么找人做淘宝网站吗汽车之家 网站建设
  • 网站开发 注意事项wordpress存档:
  • 网站外链公司网站空间怎么续费
  • 免费创一个网站做网站不签合同
  • 柯城区住房和城乡建设局网站茌平做网站
  • 汕头网站网店建设网站建设公司济宁
  • 廊坊网站建设选择青橙网络中国建设银行移动门户
  • 手机老是下载一些做任务的网站建设企业网站e路护航官网下载
  • 常州 网站优化深圳做网站比较好天涯
  • 网站如何生成二维码藁城网站建设
  • 知名企业网站人才招聘情况招聘网站建设的意义
  • 网站开发用台式机电脑配置上海网站建设乐云seo
  • 学院门户网站建设自评洛阳网站建设 恒凯科技
  • dw做网站的导航栏广州网站建设 seo
  • 电子商务网站建站衡水高端网站建设
  • 国内建设地铁的公司网站小程序从哪里登录
  • wordpress 多条件查询数据库明港seo公司
  • 网店网站源码项目管理软件开源
  • 柳州专业网站推广公司外贸饰品网站
  • 网站开发毕业设计文献综述国家高新技术企业有哪些
  • 天津网站建设托管网络推广方案的内容
  • 网站关键词优化互点网站怎么申请微信支付
  • 唐山市做网站郑州郑州网站建设河南做网站公司哪家好