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

wordpress如何控制内容图片大小深圳seo网站优化公司

wordpress如何控制内容图片大小,深圳seo网站优化公司,商企在线营销型网站,wordpress 翻页功能python项目实战——下载美女图片 文章目录 python项目实战——下载美女图片完整代码思路整理实现过程使用xpath语法找图片的链接检查链接是否正确下载图片创建文件夹获取一组图片的链接获取页数 获取目录页的链接 完善代码注意事项 完整代码 import requests import re import…python项目实战——下载美女图片 文章目录 python项目实战——下载美女图片完整代码思路整理实现过程使用xpath语法找图片的链接检查链接是否正确下载图片创建文件夹获取一组图片的链接获取页数 获取目录页的链接 完善代码注意事项 完整代码 import requests import re import pprint from lxml import etree import os# 拿到具体页面的链接下载一张图片 def download_images(url):rot requests.get(urlurl)rot.encodingrot.apparent_encoding# print(rot.text)html etree.HTML(rot.text)try:title html.xpath(//div[classImageBody]//img/alt)links html.xpath(//div[classImageBody]//img/src)# 显示下载内容# print(title[0])# print(links[0])number1 html.xpath(//li[classthisclass]/a[href]/text())# print(title[0]str(number1[0]))# print(links[0])# 创建文件夹if not os.path.exists(f图片/{title[0]}):os.mkdir(f图片/{title[0]})pic requests.get(urllinks[0]).contentwith open(f图片/{title[0]}/{title[0]}{str(number1[0])}.jpg,wb) as f:f.write(pic)print(f已下载……{title[0]}{str(number1[0])}) # 提示下载成功except:print(f出错了......{url})# 给第一个图片的链接就可以得到其他图片的链接 def link_of_pictures(url):rot requests.get(urlurl)# print(url) # 检查当前链接是否正确rot.encodingrot.apparent_encoding# print(rot.text)html etree.HTML(rot.text)features re.findall(xingganmeinv/(\\d).htm,url)[0]# print(features) # 这一组的特征值比如http://www.umeituku.com/meinvtupian/xingganmeinv/208585.htm里面的208585# 获取页数numbers html.xpath(//div[classNewPages]//ul//li//a/text())number re.findall(共(\\d)页,numbers[0])# print(number[0]) # 页数download_images(url)for i in range(2,int(number[0]) 1):# 得到了这组图片的其他链接urll re.sub(rxingganmeinv/.*, fxingganmeinv/{features}_{i}.htm, url)# print(urll)download_images(urll)# 得到这个系列的单页的链接 url https://www.umeituku.com/meinvtupian/ header {user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0} rt requests.get(urlurl,headersheader) rt.encoding rt.apparent_encoding # apparent_encoding可以自己判断网页的编码方式然后再传给encoding进行解析 # print(rt.text) html etree.HTML(rt.text) title html.xpath(//div[classTypeList]//div[classListTit]/text()) links html.xpath(//div[classTypeList]//a[classTypeBigPics]/href) # pprint.pprint(title) # pprint.pprint(links) for item in links:link_of_pictures(str(item))这个代码还能修改但是作为掌握爬取网页图片来说已经足够了 这里的第三个模块是获取目录页的总链接也就是第一页所有组的第一张还能再次翻页再次使用for循环就可以实现了 思路整理 获取图片页源代码提取所有图片的链接保存一组图片爬取目录页源代码下载图片翻页下载 实现过程 首先是下载一张图片这里最好是找个简单点的网址不要去找太火的有反爬机制对于小白来说有点难 因为我折腾了好几天提取的链接就是不能独立下载 脑子突然开窍换了个网站进度嗖嗖的 这里不推荐网站了以免对网站造成干扰 想要可以去代码里面找 使用xpath语法找图片的链接 这里去看网页源代码看看图片是否包含在源代码里面如果在源代码里面是最简单的情况 这里使用requests库的get请求可以得到网页的源代码找到了图片的位置就是在源代码里面如果不在源代码里面需要使用抓包的方式获取图片的链接 检查链接是否正确 我们从源代码找到图片的链接之后复制链接去浏览器查看如果点开就是一张图片那就成功了如果不是就换网站 下载图片 我们将得到的图片链接再次给requests模块保存图片的方式是二进制码流 pic requests.get(urllinks[0]).content对就是在requests函数后面再加一个content 就可以得到图片了现在这个图片被我们保存在pic对象里面 再使用文件操作就可以把图片保存在本地文件了 因为是二进制码流我们在保存文件的时候使用wb的方式写入 with open(f图片/{title[0]}/{title[0]}{str(number1[0])}.jpg,wb) as f:f.write(pic)print(f已下载……{title[0]}{str(number1[0])}) # 提示下载成功能下载图片之后把上面这部分独立出来做成函数让别的地方提供网址来使用 # 拿到具体页面的链接下载一张图片 def download_images(url):rot requests.get(urlurl)rot.encodingrot.apparent_encoding# print(rot.text)html etree.HTML(rot.text)try:title html.xpath(//div[classImageBody]//img/alt)links html.xpath(//div[classImageBody]//img/src)# 显示下载内容# print(title[0])# print(links[0])number1 html.xpath(//li[classthisclass]/a[href]/text())# print(title[0]str(number1[0]))# print(links[0])# 创建文件夹if not os.path.exists(f图片/{title[0]}):os.mkdir(f图片/{title[0]})pic requests.get(urllinks[0]).contentwith open(f图片/{title[0]}/{title[0]}{str(number1[0])}.jpg,wb) as f:f.write(pic)print(f已下载……{title[0]}{str(number1[0])}) # 提示下载成功except:print(f出错了......{url}) 这里我使用了try和except来进行异常捕获 因为在网站第四组图片的第10页是空图片网址有效但是没有找到图片 这里让程序进行一个报错并显示出错的网址就可以自己查看原因了 如下图所示倘若不使用异常捕获程序在这个报错的地方就会中断 一开始我还想少保存一张比如最后一张不保存那样就浪费数据了 创建文件夹 因为这里的图片都是一组一组的所以采用创建文件夹的方式把一组图片放在一个文件夹里面这个文件夹里面放这一组图片这个文件夹使用这组图片的标题命名因为这组图片没有自己的名字我们还需要人工加个序号 就像上图里面的某某1某某2等等 使用os库创建文件夹这个库可以获取程序运行的操作系统根据不同的操作系统创建不同的文件夹 if not os.path.exists(f图片/{title[0]}):os.mkdir(f图片/{title[0]})这里是使用if判断语句判断文件夹是否存在如果不存在就使用os.mkdir创建一个 获取一组图片的链接 仔细检查一下发现对于一组图片来说他们的网址有规律的变化 比如meinvtupian/xingganmeinv/208585.htm xingganmeinv/208585_2.htm 只有后面发生了变化 我们可以使用字符串替换函数配合for循环生成这组图片的链接 # 给第一个图片的链接就可以得到其他图片的链接 def link_of_pictures(url):rot requests.get(urlurl)# print(url) # 检查当前链接是否正确rot.encodingrot.apparent_encoding# print(rot.text)html etree.HTML(rot.text)features re.findall(xingganmeinv/(\\d).htm,url)[0]# print(features) # 这一组的特征值比如http://www.umeituku.com/meinvtupian/xingganmeinv/208585.htm里面的208585# 获取页数numbers html.xpath(//div[classNewPages]//ul//li//a/text())number re.findall(共(\\d)页,numbers[0])# print(number[0]) # 页数download_images(url)for i in range(2,int(number[0]) 1):# 得到了这组图片的其他链接urll re.sub(rxingganmeinv/.*, fxingganmeinv/{features}_{i}.htm, url)# print(urll)download_images(urll)这里的features就是变化的地方我管他叫特征值你们可以随便起名字 获取页数 这里我们可以从源代码里面找到这一组图片的页数 然后根据页数生成链接再让上面的函数去访问图片 错误示范 一开始的时候发现在图片的下面可以选择页数点击第几页就会跳转根据这个思路好像可以把这个页数链接爬下来制成列表再挨个访问 对于页数少的还可以但是这个直接跳转只能最多显示7页哪怕共10页从第一页最多跳转到第7页 所以没办法直接从页面获取链接只能根据规律自己改写链接 for i in range(2,int(number[0]) 1):# 得到了这组图片的其他链接urll re.sub(rxingganmeinv/.*, fxingganmeinv/{features}_{i}.htm, url)# print(urll)download_images(urll)也就是得到页数进行n次循环就好了 获取目录页的链接 从目录页可以看到多组图片的第一页直接点击也可以完成跳转 检查源代码发现每组图片的首页链接可以被爬取 # 得到这个系列的单页的链接 url https://www.umeituku.com/meinvtupian/ header {user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0} rt requests.get(urlurl,headersheader) rt.encoding rt.apparent_encoding # apparent_encoding可以自己判断网页的编码方式然后再传给encoding进行解析 # print(rt.text) html etree.HTML(rt.text) title html.xpath(//div[classTypeList]//div[classListTit]/text()) links html.xpath(//div[classTypeList]//a[classTypeBigPics]/href) # pprint.pprint(title) # pprint.pprint(links) for item in links:link_of_pictures(str(item))这里的url是目录页的链接 links是每组的首页链接列表 完善代码 这里的获取目录页链接还能再改把这个操作改成函数还能再写for循环访问所有的目录页 貌似有成百上千个这里作为代码展示就不写了有能力的可以试试 注意事项 这段代码不能独立工作必须放在项目里面 这个代码运行成功之后我就想做成exe程序但是里面涉及了文件保存的地址还有一些库函数 ai帮忙改了一下,让程序获取文件所在的位置倒是解决了必须放在项目里面的问题但是依旧不能打包exe或者文件夹 import requests import re import pprint from lxml import etree import os# 获取当前脚本的绝对路径 current_directory os.path.dirname(os.path.abspath(__file__)) image_directory os.path.join(current_directory, 图片)# 拿到具体页面的链接下载一张图片 def download_images(url):rot requests.get(urlurl)rot.encoding rot.apparent_encodinghtml etree.HTML(rot.text)try:title html.xpath(//div[classImageBody]//img/alt)links html.xpath(//div[classImageBody]//img/src)number1 html.xpath(//li[classthisclass]/a[href]/text()) # 在这里提取 number1# 确保 title 和 number1 都有值if not title or not number1:print(f未能提取标题或编号URL: {url})return# 创建文件夹image_folder os.path.join(image_directory, title[0])if not os.path.exists(image_folder):os.makedirs(image_folder) # 使用 makedirs 可以创建多层目录pic requests.get(urllinks[0]).contentwith open(os.path.join(image_folder, f{title[0]}{str(number1[0])}.jpg), wb) as f:f.write(pic)print(f已下载……{title[0]}{str(number1[0])}) # 提示下载成功except Exception as e:print(f出错了......{url}, 错误信息: {e})# 给第一个图片的链接就可以得到其他图片的链接 def link_of_pictures(url):rot requests.get(urlurl)rot.encoding rot.apparent_encodinghtml etree.HTML(rot.text)features re.findall(xingganmeinv/(\\d).htm, url)[0]# 获取页数numbers html.xpath(//div[classNewPages]//ul//li//a/text())number re.findall(共(\\d)页, numbers[0])download_images(url)for i in range(2, int(number[0]) 1):urll re.sub(rxingganmeinv/.*, fxingganmeinv/{features}_{i}.htm, url)download_images(urll)# 得到这个系列的单页的链接 url https://www.umeituku.com/meinvtupian/ header {user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0} rt requests.get(urlurl, headersheader) rt.encoding rt.apparent_encoding html etree.HTML(rt.text) title html.xpath(//div[classTypeList]//div[classListTit]/text()) links html.xpath(//div[classTypeList]//a[classTypeBigPics]/href)for item in links:link_of_pictures(str(item))
http://www.dnsts.com.cn/news/145943.html

相关文章:

  • 做网站如何来钱桂林 网站建站
  • 荆州大气网站建设价格如何做好网络维护工作
  • 机构改革 住房与城乡建设厅网站可以加速网页的加速器
  • 数据中心网站模板最好看的2018中文在线观看
  • 网站 工作室创建网站花钱吗
  • 网站联系方式要素中华建筑网校
  • 成都网站建设前十大型网站建设 教程
  • 广告制作公司名字系统优化大师下载
  • 静态企业网站模板毕业设计医院网站设计怎么做
  • 西安跨境电商平台网站网站建设 成功案例
  • 搜款网站一起做网店浦东新区建设机械网站
  • 网站建设费用入什么科目设计素材图库
  • postgresql做网站用什么环境怎样开通app软件
  • 泰兴市建设局网站建站技术博客
  • php mysql网站开发实例教程西安平台搭建
  • 网站建设确认报告中太建设集团股份有限公司网站
  • 制作网站需要多少钱项目计划书团队介绍
  • 三五互联网站管理登录地址是多少网站建设遇到的问题及对策
  • 网站设计模板简约福州搜索引擎优化
  • 自己做发小说网站哪家公司可以做网站
  • 学校网站建设渠道品牌建设的四条主线
  • 建站工具也成为什么系统dwcc网页制作教程
  • 东莞网站制作公司怎么选择深圳市官网网站建设平台
  • 网站内容建设pptwordpress主题 电影
  • 网站职业技能培训有哪些项目wordpress火车头发布
  • 网站开发软硬件条件网络服务商英文
  • html5网站网址photoshop破解版下载免费中文版
  • 山西电力建设一公司网站微信怎么做自己的网站
  • 成都企业网站建设哪家专业中国建筑业发展现状
  • 做网站用什么后缀好网站里的动效怎么做