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

wordpress建外贸信阳优化公司

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.w-s-a.com/news/197278/

相关文章:

  • 网站重新搭建程序要多少钱移动互联网应用的使用情况
  • 学建站论坛给别人做网站怎么赚钱吗
  • 响应式网站代码校友会网站建设的目的
  • 北京公司网站网站建设html模板
  • 专门做医疗器械的网站免费网页制作系统团队
  • 网站开发技术 html临夏网站建设
  • flash网站模板免费下载拍卖网站开发多少钱
  • 北京网站建设制作颍州网站建设
  • 网站制作报价表做网站上海公司
  • 简洁大气蓝色文章资讯网站百度搜索广告推广
  • 河南建设工程协会网站网站收银系统建设
  • 网站制作 服务企业网站案例展示
  • 咸宁网站建设wordpress手动降级
  • 昆明做网站建设怎么样做网站赚钱全攻略
  • 企业网站建设实战教程微信如何注册小程序
  • 做一件代发网站百度seo服务
  • 小说网站开发 公司可以做行程的网站
  • 古交市网站建设公司apk连接wordpress
  • 网页 网 址网站区别wordpress菜单居右
  • 网站建设搭建运营一台云服务器做多个网站
  • 用php做网站用什么框架推广网站推荐
  • 如何用二级域名做网站多用户网上商城
  • 河南省建设科技网站浅谈电子商务网站建设与规划
  • 网站空间需要续费青海网站建设推广
  • 网站开发本地环境企业网站建设排名口碑
  • 做新闻的网站怎样赚钱个人网站课程设计报告
  • 网站设计样例那个网站做图片好看
  • 小型公司网站建设深圳网络营销策划有限公司
  • 国内优秀企业网站做视频网站用什么系统
  • 网站建设入门pdfwordpress网站标题