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

河南科兴建设有限公司网站怎样提高网站速度

河南科兴建设有限公司网站,怎样提高网站速度,网站开发什么技术,建网站免费吗🎁🎁创作不易,关注作者不迷路🎀🎀 目录 🌸完整代码 🌸分析 🎁基本思路 🎁需要的库 🎁提取图片的链接和标题 👓寻找Cookie和User-Agent &…

🎁🎁创作不易,关注作者不迷路🎀🎀

目录

🌸完整代码

🌸分析

 🎁基本思路

🎁需要的库

🎁提取图片的链接和标题

👓寻找Cookie和User-Agent

👓图片链接和标题

🎁下载保存图片

🎁获取目录页面图片和翻页提取

👓目录页图片的提取

👓翻页规律寻找

🌸运行效果

 🌸文末彩蛋🎀

我们经常想要寻找一些高清的壁纸,图片作为素材(为CSDN博客找一张吸引读者的封面🤣),然而一张一张的下载太慢了,因此为了提高工作效率, 我们可以采用爬虫的方式,快速下载图片。

🌸完整代码

import os#导入操作系统的库
import requests  #导入HTTP库
from lxml import etree#导入lxml库,数据解析global num
num=1
#请求头,伪装爬虫
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',
'cookie':
'zkhanecookieclassrecord=%2C66%2C70%2C'}#获取具体的图片的地址和名字信息
# url='https://pic.netbian.com/tupian/34694.html'
def get_pic(url,header):re=requests.get(url,headers=header)re.encoding=re.apparent_encoding#获取html文本时用网页原有的编码方式,防止乱码#print(re.apparent_encoding) #返回的编码html=etree.HTML(re.text)link=html.xpath('//div[@class="photo-pic"]/a/img/@src')[0]#获取图片链接link='https://pic.netbian.com'+linkprint(link)title=html.xpath('//div[@class="photo-pic"]/a/img/@title')[0]#获取图片名称print(title)return title,link#下载保存图片
def download_pic(url,header):global numtitle,link=get_pic(url,header)if not os.path.exists(r"C:\Users\liu\Desktop\图片\4K壁纸"):#未找到文件夹则创建文件夹os.mkdir(r"C:\Users\liu\Desktop\图片\4K壁纸")content=requests.get(link,headers=header).contentwith open(rf"C:\Users\liu\Desktop\图片\4K壁纸\{str(num)}.jpg",'wb') as f:#以二进制编码写入文件f.write(content)num += 1#目录翻页提取链接
def get_content_link(url,header):# url='https://pic.netbian.com/pingban/index.html're=requests.get(url,headers=header)re.encoding=re.apparent_encoding# print(re.text)html=etree.HTML(re.text)links=html.xpath('//div[@class="slist"]//a/@href')for x in links:x='https://pic.netbian.com'+xdownload_pic(x,header)#循环遍历网页,处理信息
for i in range(1,24):if i==1:url='https://pic.netbian.com/pingban/index.html'else :url=f'https://pic.netbian.com/pingban/index_{i}.html'get_content_link(url,header)

🌸分析

 🎁基本思路

  •  找到图片页网页源代码
  • 提取所有图片的链接和标题
  • 下载保存图片
  • 爬取目录页的网页源代码
  • 下载目录页的图片
  • 分析不同页面的地址变化,找出规律实现翻页下载

🎁需要的库

import os
import requests
from lxml import etree

requests和lxml库是第三方库,需要自己安装

🎁提取图片的链接和标题

👓寻找Cookie和User-Agent

首先打开页面,打开开发者工具,按Ctrl+R刷新页面,点击开发者工具的“网络”选项,点击第一份文件,查看请求地址,Cookie和User-Agent

 将Cookie和User-Agent作为请求头

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',
'cookie':
'zkhanecookieclassrecord=%2C66%2C70%2C'}
👓图片链接和标题

这里需要用到lxml库以及xpath的知识,看图说话,链接和地址存在<div class="photo-pic">下的a元素中img元素中的src属性和title属性

图片链接

link=html.xpath('//div[@class="photo-pic"]/a/img/@src')[0]#获取图片链接

图片标题

title=html.xpath('//div[@class="photo-pic"]/a/img/@title')[0]#获取图片名称

写成函数方便调用

#获取具体的图片的地址和名字信息
# url='https://pic.netbian.com/tupian/34694.html'
def get_pic(url,header):re=requests.get(url,headers=header)re.encoding=re.apparent_encoding#获取html文本时用网页原有的编码方式,防止乱码#print(re.apparent_encoding) #返回的编码html=etree.HTML(re.text)link=html.xpath('//div[@class="photo-pic"]/a/img/@src')[0]#获取图片链接link='https://pic.netbian.com'+linkprint(link)title=html.xpath('//div[@class="photo-pic"]/a/img/@title')[0]#获取图片名称print(title)return title,link

🎁下载保存图片

存储到一个新的文件夹“4K壁纸”,如果文件夹不存在,需要创建,这里要用到os库

#未找到文件夹则创建文件夹
if not os.path.exists(r"C:\Users\liu\Desktop\图片\4K壁纸"):        os.mkdir(r"C:\Users\liu\Desktop\图片\4K壁纸")

写入文件

content=requests.get(link,headers=header).content
with open(rf"C:\Users\liu\Desktop\图片\4K壁纸\{str(num)}.jpg",'wb') as f:#以二进制编码写入文件f.write(content)

写成函数方便调用

#下载保存图片
def download_pic(url,header):global numtitle,link=get_pic(url,header)if not os.path.exists(r"C:\Users\liu\Desktop\图片\4K壁纸"):#未找到文件夹则创建文件夹os.mkdir(r"C:\Users\liu\Desktop\图片\4K壁纸")content=requests.get(link,headers=header).contentwith open(rf"C:\Users\liu\Desktop\图片\4K壁纸\{str(num)}.jpg",'wb') as f:#以二进制编码写入文件f.write(content)num += 1

🎁获取目录页面图片和翻页提取

上面我们实现一张图片的保存,写了十几行代码算是成功保存了🤣🤣🤣,一张图片干嘛这么麻烦捏😂,直接点击“图片另存为”不就行了吗,那如果是很多图片吗,那肯定是爬虫更快了呗

👓目录页图片的提取

依然用到lxml库,利用xpath语法提取

#目录翻页提取链接
def get_content_link(url,header):# url='https://pic.netbian.com/pingban/index.html're=requests.get(url,headers=header)re.encoding=re.apparent_encoding# print(re.text)html=etree.HTML(re.text)links=html.xpath('//div[@class="slist"]//a/@href')for x in links:x='https://pic.netbian.com'+xdownload_pic(x,header)
👓翻页规律寻找

📕找到第一页目录页

https://pic.netbian.com/pingban/index.html

📕找到第二页目录页

https://pic.netbian.com/pingban/index_2.html

📕找到第三页目录页

https://pic.netbian.com/pingban/index_3.html

发现规律:第一页单独列出来,其他页通过for循环改变index_{i}即可

#循环遍历网页,处理信息
for i in range(1,24):if i==1:url='https://pic.netbian.com/pingban/index.html'else :url=f'https://pic.netbian.com/pingban/index_{i}.html'get_content_link(url,header)

通过for循环遍历,最终可以实现所有图片的下载

🌸运行效果

成功下载4K壁纸,耗时两分半🐔,下载400多张图片,爬虫提取就是快,手动提取预估一坤时左右🐔

 

 🌸文末彩蛋🎀

 

 

http://www.yayakq.cn/news/13411/

相关文章:

  • 做运营必看的网站校园网络安全设计方案
  • 建设部网站打不开广东企业网站建设报价
  • 南宁网站建设博信网站开发不用框架?
  • 深圳定制网站制作咨询电话图书馆门户网站建设总结
  • 极速网站推广专家互联网服务中心
  • ipv6网站制作厦门企业网站制作
  • 江苏高端网站建设建设农产品网站的背景
  • 网站建设技术论文asp婚纱摄影网站源码
  • 十堰网站建设价格食品包装设计网站
  • 网站开发如何建设公共页面网站建设 淘宝详情
  • 网站的设计需要什么网站建设设计平台
  • 郑州专业做微信网站旅游手机网站建设智慧旅游
  • 游戏网站开发计划书好看的ui界面
  • app平台网站搭建企业网站 单页
  • 网站建设免费的织梦做分类信息系统网站
  • seo网站首页推广网站外链建设需要考核
  • 网站开发编辑器新塘17网站一起做网店官网
  • 建设银行网站网页丢失wordpress轻社区插件
  • it类网站余干网站建设制作
  • 网站备案才能使用专业的个人网站建设哪家便宜
  • 网站策划书案例江苏seo网络
  • 大连网站建设制作公司网上国网app缴费
  • 文化传播有限公司网站建设wordpress插件白屏
  • 鞍山市做网站公司招商网站建设简介
  • 做网站自己装服务器国际网站建设
  • 护肤品网站建设目的wordpress文章会员
  • 代刷网站只做软件下载帮别的公司做网站违法吗
  • 厦门免费推广平台电子商务网站怎么做seo
  • 中国建设部网站首页导航网站建设
  • 无锡建设局施工许可证网站公司网站字体