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

外贸网站 海外推广软件工程专业考研考什么

外贸网站 海外推广,软件工程专业考研考什么,阿里云网站建设部署与发布视频,wordpress 发帖机python爬虫12#xff1a;实战4 前言 ​ python实现网络爬虫非常简单#xff0c;只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点#xff0c;方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论#xff0c;并不会对网站产生不好…python爬虫12实战4 前言 ​ python实现网络爬虫非常简单只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论并不会对网站产生不好影响。 目录结构 文章目录 python爬虫12实战41. 目标2. 详细流程2.1 目标确定2.2 请求网页2.3 模拟滑动滚轮2.4 下载图片2.5 完整代码 3. 总结 1. 目标 ​ 这次爬虫实战采用的库为selenium这次就以那种动态加载的图片网页为目标本次的网站就是家大业大的百度图片。 ​ 再次说明案例本身并不重要重要的是如何去使用和分析另外为了避免侵权之类的问题我不会放涉及到网站的图片希望能理解。 2. 详细流程 2.1 目标确定 ​ 写爬虫第一件事情就是确定目标网页地址。这里我们的目标是百度图片因此直接打开百度图片搜索美女然后观察它的url https://image.baidu.com/search/index?tnbaiduimageps1ct201326592lm-1cl2nc1ieutf-8dyTabStrMCwxLDMsMiw0LDUsLDYsOCw3LDk%3Dword美女​ 这个链接非常的长因为它有很多无关的参数所以我们第一件事情就是化繁为简大胆的删除一些无关参数之前讲解过参数形式都是xxxvalue得到结果如下 https://image.baidu.com/search/index?tnbaiduimageword美女​ 另外观察这个网页你会发现随着滚轮往下滚图片越来越多。这就是动态网页也是我们常用的requests库难以处理的场景这同样告诉我们使用selenium这个库。 2.2 请求网页 ​ 这部分就是中规中矩了看过前面关于selenium 讲解的应该都可以轻松写出来。 ​ 代码如下 # 请求百度图片 def get_baidu_images():# 初始化driver webdriver.Chrome()# 网址base_url https://image.baidu.com/search/index?tnbaiduimagewordtarget input(请输入想要下载的图片名字)url base_url target# 请求driver.get(url)2.3 模拟滑动滚轮 ​ 本次代码有很多实现思路我这里想的是首先滚轮滚动一定距离然后获取图片的下载地址接着询问是否还需要滚动如果不则停止加载开始下载图片否则继续滚动。 ​ 想要实现滚动需要执行js代码。肯定有些人没有学习过没关系虽然我学过的但是也已经忘得差不多了。 ​ 所以我们直接百度js代码实现滚动条向下滚动即可找到js代码如下 window.scrollBy(0,100) # 这个是移动多少的距离即每次移动100像素​ 那么可以来写代码了如下 # 接着上面的函数写的 # 是否滚动 flag True while flag:# 先让滚动条滚动五次.每次间隔0.5秒给浏览器一定的加载时间for i in range(5):driver.execute_script(window.scrollBy(0,300))time.sleep(0.5)# 询问是否继续滚动decision input(是否继续滚动Y/N)if decision N:flag False​ 给大家展示一下运行效果 ​ 可以看出没有什么问题那么继续下一步就是解析网页获取所有的图片链接。 ​ 首先看下图 ​ 我们可以通过xpath来解析代码 //div[classimgbox-border]//img​ 那么代码如下 # 接着上面写 # 解析 img_list driver.find_elements(byBy.XPATH,value//div[classimgbox-border]//img) href [img.get_attribute(src) for img in img_list] # 退出 driver.close() return href​ 运行结果如下图所示 2.4 下载图片 ​ 最后一步就是下载图片我们可以重新写一个函数来实现。 ​ 下载图片很简单流程就是 1. 请求图片网址 2. 获取图片源码 3. 将图片以二进制的形式写入文件即可​ 但是这里需要注意不能使用selenium去请求图片不然你相当于打开了图片所在的网页并没有真正的打开图片建议还是使用requests去访问。 ​ 代码如下 # 下载图片 def download_image(url,index)::param url: 下载图片的链接:param index: 索引用于文件名# 参数headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36,}# 请求response requests.get(url,headersheaders)source_code response.content# 保存到文件with open(imagestr(index).jpg,wb) as f:f.write(source_code)​ 运行结果如下 2.5 完整代码 # 导包 from selenium import webdriver from selenium.webdriver.common.by import By import time import requests# 请求百度图片 def get_baidu_images():# 初始化driver webdriver.Chrome()# 网址base_url https://image.baidu.com/search/index?tnbaiduimagewordtarget input(请输入想要下载的图片名字)url base_url target# 请求driver.get(url)# 是否滚动flag Truewhile flag:# 先让滚动条滚动五次.每次间隔0.5秒给浏览器一定的加载时间for i in range(5):driver.execute_script(window.scrollBy(0,300))time.sleep(0.5)# 询问是否继续滚动decision input(是否继续滚动Y/N)if decision N:flag False# 解析img_list driver.find_elements(byBy.XPATH,value//div[classimgbox-border]//img)href [img.get_attribute(src) for img in img_list]# 退出driver.close()return href# 下载图片 def download_image(url,index)::param url: 下载图片的链接:param index: 索引用于文件名# 参数headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36,}# 请求response requests.get(url,headersheaders)source_code response.content# 保存到文件with open(imagestr(index).jpg,wb) as f:f.write(source_code)if __name__ __main__:url_list get_baidu_images()for i,url in enumerate(url_list):download_image(url,i)3. 总结 ​ 本篇讲解了selenium的主要用途处理动态网页。另外告诉了大家如何使用selenium执行js代码还有一点就是如何爬取图片并保存到本地。
http://www.dnsts.com.cn/news/9283.html

相关文章:

  • 学校资源门户网站建设方案html网页设计代码word文档
  • 网站设计项目书视频广告宣传片制作
  • 如何选择网站制作公司好站站网站建设推广
  • 网站建设找实体还是淘宝图片编辑软件加文字
  • 杭州pc网站制作公司dede手机医院网站模板
  • 深圳建设商城网站个人音乐网站程序源码
  • 网站平台开发诚信网站备案
  • 网站建设活动策划单位建网站的详细步骤
  • 曲靖 曲靖网站建设软件(app)开发wordpress图片要求
  • 阿里巴巴网站icp编号怎么查学生个人网页制作html报告
  • ps网站建设教程怎么查询网站开发时间
  • 查询网站mx记录有做ppt的兼职网站吗
  • 如何建立本站站点微信公众号网页怎么制作
  • 网站做浮动边框asp代码wordpress管理员怎么进
  • 最新网站模板免费下载网站做两个月百度没有录取
  • 网站开发费用属无形资产吗wordpress 大附件
  • 上海网站建设自学华强北网站建设设计
  • 淄川响应式网站建设网站制作首页
  • 如何维护企业电子商务网站建设建设网站怎样挣钱
  • 佛山市网站建设平台东四网站建设
  • 网站建设平台方案设计随县网站建设
  • 南京网站制作电话个人域名注册流程
  • 漳州微网站建设公司哪家好在线制作图片散发光芒
  • 湖州网站推广电子商务网站建设与营运
  • 浙江自己如何做网站网站域名空间代理
  • 优化网站排名怎么制作天津建设工程信息网的ca花钱吗
  • 网站主页设计布局wordpress移动端禁止放大
  • 北京市门户网站建设旅游网站的网页设计素材
  • 百度智能建站怎么样鄂尔多斯小程序开发公司
  • 北京网站建设公司艺唯思北京微网站