自制瀑布流型爬虫(思路适用很多网站)

news/2024/5/11 22:26:26/文章来源:https://blog.csdn.net/malvas/article/details/89965210

文章目录

  • BULLSHIT
  • 翻页
  • 网页源代码
  • 代码示例


BULLSHIT

之前误打误撞写过一篇《自制翻页型爬虫(思路适用很多网站)》,最近遇到瀑布流型的网站,于是继续整理一下有关瀑布流型网站的爬虫思路。

举例网站:http://www.dunkhome.com/products/search


翻页

看一下瀑布流型的网页是如何翻页的:
在这里插入图片描述

点击加载更多页面下方会加载更多的商品(有些网址是往下滚动的时候自动加载,原理一样),但是浏览器地址栏的网址不会改变,那么怎么才能找出类似翻页的规律呢?
鼠标右键点选检查,出现如下页面,选择Network一栏,持续点击之前看到的加载更多进行商品加载,XHR一栏会依次出现数个元素(这里有3个,即图中被蓝色选中的地方):
在这里插入图片描述

依次点击每个元素的Name列,在Header列找到Request URL的值,发现规律:

http://www.dunkhome.com/products/load_more?c_id=&brand_id=&keyword=&sort=&activity_id=&page=2
http://www.dunkhome.com/products/load_more?c_id=&brand_id=&keyword=&sort=&activity_id=&page=3
http://www.dunkhome.com/products/load_more?c_id=&brand_id=&keyword=&sort=&activity_id=&page=4

加载更多一次,链接变动一次,可以将其看成翻页的页面变化规律。利用这个链接变化规律做循环,就能持续下载需要的图片。 ?


网页源代码

将上面获得的链接打开:
在这里插入图片描述

ctrl+u打开网页源代码:
在这里插入图片描述

找图片链接,发现都在src="(.*?).jpg字段里面,提取出来,进行下载即可 ?


代码示例

#encoding=utf-8
import re
import os
import urllib.request
import urllib
from urllib.request import urlretrieve
import sys
import requests
from bs4 import BeautifulSoupdef read_pageHtml(url):# 获取网页源代码htmlr=requests.get(url)bsObjHtml=BeautifulSoup(htmlr.text, features="lxml")return bsObjHtmlimglist = []
c=1
for a in range(1, 21):# 设置网页循环url = 'http://www.dunkhome.com/products/load_more?c_id=1&brand_id=&keyword=&sort=&activity_id=&page='+str(a)# 网址规律data = read_pageHtml(url).__str__()rule = r'src="(.*?).jpg'# 图片链接的提取规则imglist = re.findall(rule, data)# 查找所有图片链接print(imglist, a)for each in imglist:# 对每个图片链接进行下载try:opener = urllib.request.build_opener()opener.addheaders = [('User-agent', 'Mozilla/5.0')]urllib.request.install_opener(opener)urllib.request.urlretrieve(each+'.jpg', '/home/dh/dh'+str(c)+'.jpg')c=c+1except:pass

hope it helps ?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_857961.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做BTC合约交易,发现了免费的宝藏数据网站!

做过合约都知道,大部分时间在堵,但是当了这么久的韭菜,总要提升胜率吧,既然没那个能力去拿到各种项目方的小道消息,那跟着大佬开单总没错吧,大佬吃肉我喝点汤就行。 有了这个思路,我就特别关注…

python爬虫学习之路(1)_ CSDN网站的模拟登陆

初入爬虫的道路,找到了一篇好的指导文章,先在此献上,内部讲述了入门开始的每一步,个人是比较推荐的!!! 链接:https://zhuanlan.zhihu.com/p/21479334 (我跳过了python 2.7 基础知识…

多元宇宙算法求解多目标优化问题附matlab代码(Multi-VerseOptimizer,MVO)

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

108lan.com网站部署(记录一次误使用rm -rf /*)

今天误使用了rm -rf/*把网站的部署的东西全部删除了 还好有网站的源文件备份 但是网站的一些图片没有备份导致以前上传的图片文件访问不了 以前都把这个错误当玩笑看,唉,没想到有一天自己会误敲这个命令 jar包和前端静态文件都还在 下面来部署网站&…

志远电脑公司网站系统

志远电脑公司网站系统,是一套专门从事电脑维修,打印机维修,安装监控,手机维修等业务的公司,或电脑店开发的一套成品网站程序,用户可以通过使用志远电脑公司网站系统快速搭建一个自己的网站,这一…

网站头像: favicon.ico

很多人问过我:你的网站在地址栏中的那个图标是怎么弄出来的? 这个文件就是在WEB根目录下的favicon.ico文件: http://www.example.com/favicon.ico 很多门户网站都有这个文件。 我觉得它的作用和MSN中的人物头像类似,可以称作“网站…

利用StatViz生成网站用户点击路径图

今天尝试了一下StatViz,生成了自己网站的点击路径统计:网站好“扁平”啊; 图较大,点击这里下载 具体的安装过程如下:下载GraphViz: 一个通用的矢量图生成工具 下载StatViz: 一个基于Web日志生成…

基于群体分析发现网站的相关性

今天看: 其中谈到了Amazon的a9.com中的搜索历史等功能对于用户的帮助。忽然想到Google的搜索结果页上有一个不怎么常用的相关网站功能:其实是一个很有用“发现”的功能,这种发现完全是不基于“字面”的,我感觉是经常看当前网网站的…

给Blog加上雅虎通PingMe服务:和网站用户即时聊天

雅虎中国刚刚发布了Y!Pingme服务&#xff0c;什么是PingMe呢&#xff1f; 就是一个web界面的雅虎通留言簿&#xff0c;没有注册过雅虎帐号的用户只要点击网站上的PingMe图标 <img src"http://opi.yahoo.com/online?uchedong&amp;t1&amp;lcn" alt"ca…

各种社交网站的入口dashboard比较

作者&#xff1a;车东 发表于&#xff1a;2008-02-24 14:02 最后更新于&#xff1a;2008-02-24 02:02版权声明&#xff1a;可以任意转载&#xff0c;转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明。http://www.chedong.com/blog/archives/001414.html “找到…

网站服务以及部署网站论坛discuz与网络论坛WordPress

网站架构 LAMP LinuxApacheMySQLPHP 系统服务器程序数据管理软件中间软件 静态网站&#xff1a;Apache&#xff1a;服务端口&#xff1a;80/tcp(http)443/tcp(https) 1.主配置文件 /etc/httpd/conf/httpd.conf 子配置文件&#xff1a;/etc/httpd/conf.d/*.conf 主目录&am…

网站高并发解决方案LVS

目录 负载均衡 一.集群功能分类 1.LB load balance 2.HA high available 二.负载均衡 1.负载均衡的主要方式 2.四层负载和七层负载 三.LVS概述 四.LVS工作模式 NAT转发模式 DR直接路由模式 TUN-IP隧道模式 ***模式对比&#xff1a; *轮训算法 1.Fixed Scheduling…

phpstudy安装ssl证书_浅谈网站SSL证书安装的重要性

网站需要安装SSL证书吗&#xff1f;为什么需要安装SSL证书&#xff1f;近年来&#xff0c;网络安全事件层出不穷&#xff0c;屡禁不止。据统计仍有57%的网站未进行https加密&#xff0c;成为数据泄漏的“导火索”之一。而SSL证书不仅仅可以保护网站数据安全&#xff0c;而且可以…

HTML5 网站大观:15个清爽简约风格的 HTML5 网站作品

本期的 HTML5 网站大观与大家分享15个精美的 HTML5 清爽简约风格网站。HTML5 是现在Web开发领域的热点&#xff0c;越来越多的开发人员开始使用 HTML5 来开发交互性强、效果出众的Web应用和游戏。希望这些制作精美的 HTML5 网站实例能帮助大家更好的学习 HTML5 网站制作。 Nao…

寻找网页设计灵感的27个最佳网站推荐

今天&#xff0c;本文要向大家推荐的是27个寻找网页设计灵感的最佳网站。设计师们可通过这些网站收集的优秀网页设计作品来获取灵感&#xff0c;进而设计出更加时尚、更有创意的作品。如果你有收藏这个列表中遗漏的网站&#xff0c;欢迎在评论中与大家分享。 CSS Nature Desig…

分享25个很棒的网页设计教程和资源网站

如果你是一个初学者&#xff0c;你想找高质量的设计资源和高品质的网页设计教程&#xff0c;可以看看本文列出的25个很棒的网页设计教程和资源网站&#xff0c;如果你是高手&#xff0c;也可以把自己制作的设计教程发布到这些网站上&#xff0c;这样更多人能够从你的教程学到东…

分享30个最新的单页网站设计案例

单页网站是指只有一个页面的网站&#xff0c;这种形式的网站曾经非常流行&#xff0c;现在依然有很多人喜欢。不过&#xff0c;并不是每个网站都适合做成单页&#xff0c;一般都是内容比较少而且将来内容也不怎么增加的情况才适合这样做。如果你打算做一个这样的网站&#xff0…

分享25佳 iPad 应用程序的网站设计案例

苹果的东西太招人喜欢了&#xff0c;iPad 2在国内还未上市&#xff0c;江湖传闻有中国“黄牛”提编织袋在美国抢购 iPad 2&#xff0c;不知是真是假。不过我们今天不讨论这个&#xff0c;我们说点别的&#xff0c;有的人称iPad为平板电脑&#xff0c;有的人说不对&#xff0c;应…

提升你网站水平的 jQuery 插件推荐

jQuery是一个优秀JavaScript库&#xff0c;它简化了HTML文档遍历&#xff0c;事件处理&#xff0c;动画和Ajax交互。 jQuery的确改变了很多人写JavaScript的方式。如今&#xff0c;有很多现成的jQuery插件可供选择&#xff0c;帮助你在网站中加入惊人的功能和效果。看看这些非常…

keras入门(三)搭建CNN模型破解网站验证码

项目介绍 在文章CNN大战验证码中&#xff0c;我们利用TensorFlow搭建了简单的CNN模型来破解某个网站的验证码。验证码如下&#xff1a; 在本文中&#xff0c;我们将会用Keras来搭建一个稍微复杂的CNN模型来破解以上的验证码。 数据集 对于验证码图片的处理过程在本文中将不再具…