python 异步加载图片_Python爬虫学习笔记(1.3)爬取网站异步加载数据

news/2024/5/11 12:44:12/文章来源:https://blog.csdn.net/weixin_39811478/article/details/113641914

异步加载数据:简单的举个例子,有些网页不需要换页,只要网页上的滚动条滑到最下方,它就会自动加载部分数据,和瀑布流一样,可以持续不断的加载数据 ,这些持续加载的数据就属于异步数据(由js控制,和请求网址的Request不是一起的)。

首先,使用浏览器工具检查,选择Network下的XHR,然后鼠标往下滑,让网页不断的加载数据,观察XHR的变化,如图。

629362c4872b?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

1F33799E-A4BD-433D-AEB1-E5FB51DF531A.png

实际上不难看出,只是在Request URL的末尾加上了页码后缀。

然后检查元素,鼠标继续往下滑,让它加载数据,然后观察网页源代码的变化。

629362c4872b?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

89F92588-D667-4D30-8143-3B11DD307995.png

通过观察发现,每次加载数据之后,网页中就会多出几个class="thing"的article标签。然后打开其中的一个article标签就可以发现我们要爬取的元素。

629362c4872b?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

A63085A8-FCF1-4EC3-8394-4D8DE4FBB645.png

分析完页面元素之后,下面用代码来实现其中一个页面的爬取。

from bs4 import BeautifulSoup

import requests

url = 'https://knewone.com/things/?page=2'

wb_data = requests.get(url)

soup = BeautifulSoup(wb_data.text,'lxml')

imgs = soup.select('a.cover-inner > img')

titles = soup.select('section.content > h4 > a')

links = soup.select('section.content > h4 > a')

for img,title,link in zip(imgs,titles,links):

data = {

'img':img.get('src'),

'title':title.get('title'),

'link':link.get('href')

}

print(data)

完成之后接下来做多页面的爬取,并且设计一个自控页码的函数,最终代码如下。

from bs4 import BeautifulSoup

import requests

import time

url = 'https://knewone.com/things/?page='

def get_page(url,data=None):

wb_data = requests.get(url)

soup = BeautifulSoup(wb_data.text,'lxml')

imgs = soup.select('a.cover-inner > img')

titles = soup.select('section.content > h4 > a')

links = soup.select('section.content > h4 > a')

if data==None:

for img,title,link in zip(imgs,titles,links):

data = {

'img':img.get('src'),

'title':title.get('title'),

'link':link.get('href')

}

print(data)

def get_more_pages(start,end):

for one in range(start,end):

get_page(url+str(one))

time.sleep(1)

get_more_pages(1,8)

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

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

相关文章

爬虫技术教程 java_基于java的小说网站网络爬虫程序开发视频教程 下载

简介:基于java的小说网站网络爬虫程序开发视频教程下载基于java的小说网站网络爬虫程序开发视频教程附代码资料10课|____注意!很重要,观看前必读说明.txt|____99.资料|____novel.web-0.0.1-SNAPSHOT.war|____generator.zip&nb基于java的小…

500个符合web标准的网站模板

链接地址:http://bolm.cn/xhtml/ 转载于:https://www.cnblogs.com/xiaozhuoyun/archive/2007/12/07/987031.html

使用C#登录带验证码的网站

转载自:http://www.cnblogs.com/studyzy/archive/2008/05/08/1187626.html 我在上一篇文章中已经讲解了一般网站的登录原来和C#的登录实现,很多人问到对于使用了验证码的网站该怎么办,这里我就讲讲验证码的原理和对应的登录方法。 验证码的由来 几年前&a…

给你一份网站升级攻略,让你的网站焕然一新

关键词:网站建设,企业官网 虽然已有官网,但是公司业务繁忙没时间去维护?久而久之网站就出现了很多问题,老板不看还好,一看不得了,糟糕的界面,过时的内容,还怎么好意思拿去…

大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么…

织梦网站修改栏目模型后,文章不显示的解决办法

在一次织梦网站改版的过程中,有一个栏目需要改成一个新建的内容模型,这时候就会遇到一个问题,栏目的文章会突然“消失不见”,这是因为更改之后栏目文章会因为数据表没有更改所导致的。找到了一个方法,大家一起来看看吧…

学习英语的好网站 (要时刻保持对英语的热情与激情,呵呵)

这些网站是从新东方尹圆圆老师的博客上找来的,希望大家好好利用: 1. http://www.texun.cn/addrso/index.htm 特训网:English Learning Websites 2. http://broadcast-live.com/ Live Radio and TV from Around the World 3. http://www.nxeng…

CDN内容分发服务推荐-加速你的网站

CDN内容分发服务推荐-加速你的网站 导语 CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。 CDN服务公司推荐 免备案(免费&#…

怎么在php上加栏目,wordpress网站如何添加栏目

wordpress自定义栏目设置方法用wordpress程序建站时,往往很难去设置产品的大小、重量、单价等参数,好在wordpress有一个自定义栏目功能。我们可以通过wordpress自定义栏目给产品增加参数属性。设置方法首先是开启自定义栏目模块,进入后台后&a…

十大网站管理工具

引用:http://www.williamlong.info/archives/1278.html 当网站发展到一定的规模,站长就应该开始考虑要为网站托管服务器。通常情况下服务器会被放到电信或网通的机房,网站管理员通过远程来管理服务器。在网站服务器进行托管时,需要安装一些常…

提高网站加载速度的3项黄金守则

如何优化网页加载速度是每个前端开发工程师需要了解的,也是前端开发工程师需要具备的基本条件。 优化网站加载速度的原理主要是减少网站文件的大小,减少HTTP请求数。网站文件越小,浏览器加载页面会比较轻松,打开页面的速度也会提升…

网站架构设计

centos7.5网站架构设计 如图: 大致流程: 1、用户访问网站通过防火墙,连接三层交换机到达web服务器 2、负载均衡服务器根据各个服务器的负载合理调节资源 3、web服务器先去缓存服务器找相应的资源,若没有,再去数据库等…

网站服务协议HTTP原理

一、网站页面访问流程 1)客户端 浏览器输入网址信息点击回车-----------------------ENTER 2) 客户端 完成域名的解析过程 ----------------------------------DNS 3) 客户端 直接访问相应网站服务器----------------------------开始建立TCP三次握手过程 4) 客户端 访问网站服…

Azure Traffic Manager 现可与 Azure 网站集成!

编辑人员注释:本文章由 WindowsAzure 网站团队高级专家级工程师 Jim Cheshire撰写。 AzureTraffic Manager 已经推出有一段时间,这是一种跨多个区域管理网站的有效方式。您可以将访问者路由至可以提供最佳性能的区域&#xff0c…

如何设计一个基于Node.js和Express的网站架构?

前言 今年七月份,我和几个小伙伴们合伙建立了一个开发团队。业务开展如火如荼的同时,团队宣传就提上了日程,所以迫切需要搭建公司网站出来。确定目标后我们就开始考虑如果构建一个企业网站。先是进行业内调查,看了看别人家的网站是…

.NET技术+25台服务器怎样支撑世界第54大网站

英文原文:StackOverflow Update: 560M Pageviews A Month, 25 Servers, And Its All About Performance StackOverflow 是一个 IT 技术问答网站,用户可以在网站上提交和回答问题。当下的 StackOverflow 已拥有 400 万个用户,4000 万个回答&am…

用python画出简单笑脸画法_自从有了这个网站,用函数公式画出狮子王就是这么简单...

▲▲▲点击查看▲▲▲可能对大多数人来说,数学一直是自己学习生涯中的弱项,毕竟「人被逼急了什么都做得出来,唯独数学不会,不会就是不会」,特别是在函数的学习中,因为涉及到了「变量」这一概念,…

北京奥运网站的图片切换轮转效果

预览 下载 转载于:https://www.cnblogs.com/CB/archive/2008/05/21/1204378.html

网站服务器80端口怎么开放,开放80端口配置

开放80端口配置 内容精选换一换本节操作指导用户关闭Windows操作系统云服务器的防火墙,以及防火墙添加例外端口的操作。本节操作以2012操作系统云服务器为例。防火墙开启和设置安全组是对云服务器的双重保护,如果选择关闭防火墙,建议安全组谨…

大型网站架构系列:分布式消息队列(一)

以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。 本次分享大纲 消息队列概述消息队列应用场景消息中间件示例JMS消息服务(见第二篇:大型…