python多页网站目录_想爬取一个有很多页的网站,但是我不知道这个网站的准确页数。请问 Python 中如何用循环来实现呢?...

news/2024/5/9 23:59:24/文章来源:https://blog.csdn.net/weixin_39858275/article/details/109971512

25

2019-07-27 17:28:21 +08:00 heart_neue_red.png?v=16ec2dd0a880be6edda1e4a2e35754b3 1

@solider245 就是一般意义上我们说的二分查找,一般的程序员应该都了解的。 如果你这方面有缺失,我时间不多,只能在这里简单解释一下:假设我有一个有序的整数数组,我想要查询里面一个数的下标,我先拿数组中间的数和目标数对比,如果相等那就找到了,如果小于目标值,就说明目标值在数组的后半部分,那我就去后半部分继续二分,如果大于目标值,说明目标值在数组的前半部分,我就去前部分用同样的方法找。

这样不断地分割数组,我只需要正比于数组长度的对数的时间就能找到值,也就是 1024 长度的数组我只需要找 10 次左右。

对于你的问题,你可以把所有页面看成是一个数组,合法是 0,不合法是 1,这个数组就是[0,0,0,....,1,1,1,1]这样的形式,你要找到最右边的 0,二分搜索就可以了。二分搜索的实现是很容易出 bug 的(除非你很好地掌握了循环不变式的思想, 但是如果你不知道二分搜索,我估计你也不知道循环不变式),所以不建议自己实现。bisect 标准模块已经实现了数组的二分搜索,所以你只需要构造这么一个数组,但是你不能真的去构造数组,不然相当于每个页面都去读取了一次,所以你可以覆盖__getitem__方法,构造一个假的数组,每次读数组的第 i 个值,你去取第 i 个页面就行了。

我给的代码只是简单的 demo,要达到工业强度,还需要一些改进,比如请求失败的处理之类的,祝好运。

PS:while 的做法是每个页码都尝试去读一次,比二分搜索慢了很多,但是如果你的性能需求没有你帖子里说的那么高,那就怎么简单怎么来吧。

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

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

相关文章

常见的网站各种类型的页面缓存时间及http头

转载于:https://blog.51cto.com/ceekay/1083378

20款非常棒的网站可用性测试工具

2019独角兽企业重金招聘Python工程师标准>>> 网站可用性是指用户能否有效地找到所需的信息或完成他的任务,效率如何以及是否让人有愉快满意的感受。如果网站可用性较差,会浪费用户的时间,大大降低网站的回头访问率,这对…

网站攻击软件_如何防范误植攻击 | Linux 中国

误植是一种引诱用户将敏感数据泄露给不法分子的方式,针对这种攻击方式,我们很有必要了解如何保护我们的组织、我们的开源项目以及我们自己。-- Sam Bocetta误植Typosquatting是一种引诱用户将敏感数据泄露给不法分子的方式,针对这种攻击方式&…

16个时髦的扁平化设计的 HTML5 CSS3 网站模板

创建网站最好办法之一是使用现成的网站模板或使用开源 CMS 应用程序。所以,今天这篇文章给大家带来的是16款基于 HTML5 & CSS3 的精美的扁平风格网站模板,大家可以借助这些优秀的网站模板创建自己的优秀网站。这些网站模板虽然是收费,但是…

如今的SEO与以往的SEO有何不同?

1. SEO的术语解释SEO在2000-2011年之间都是针对于主流搜索引擎友好度的一种网站站内外技术与内容的优化。通过接近搜索引擎算法的一种手段,所以称之为Search Engine Optimization (搜素引擎优化)。而从2011 – 2014年开始,搜索引擎优化不只局限在代码、内…

apache php网站,Apache,mysql,PHP搭建网站环境

须要用到三个压缩包:php各模块配置:Apache:下载,解压安装vc2015运行库bin目录下,管理员权限执行httpd -k install安装服务安装成功后,此目录下双击ApacheMonitor启动apache如出现错误(1.查看一下是不是端口…

使用ClipFinder HD搜索和查看多个视频网站

If you’re looking for an easy way to search through several video websites at once from your desktop, today we take a look at an app that does an excellent job. Ashampoo’s ClipFinder HD allows you to search and download videos from popular video sites f…

谭晓威个人博客网站

经过前一段时间的折腾,个人博客网站终于开始上线运作了,从选择主机到搭建环境,从注册域名到域名备案,特别是备案,很是麻烦呀,不过终于搞定了,在此打个小广告,欢迎朋友们前来支持&…

全球第2大同性交友网站曝光,2022程序员现状

全球第二大同性社交网站 提到全球最大的同性社交网站,大家马上想到Github。 Github是技术人的聚集地,因为程序员以男人居多,所以被网友戏称为全球最大的同性社交网站。 还有一个网站,它的世界编程者心中的地位,就像知…

cortana 无法使用_如何使用Microsoft Edge和Cortana创建网站提醒

cortana 无法使用Want to set a web page aside and come back to it in the future? If you use Microsoft Edge in Windows 10’s Creators Update, you don’t have to leave the tab open or bookmark it and remember to come back. You can tell Cortana to remind you …

电影下载网站收集

为什么80%的码农都做不了架构师?>>> 1.小浣熊下载站:http://www.xiaohx.com/ 2.97电影网:http://www.id97.com/ 转载于:https://my.oschina.net/miger/blog/483343

云中数据_免费备份和共享云中数据的最佳网站

云中数据We’ve been told many times how important backups are, although we may not realize it until it’s too late and our data’s gone. You can backup your PC’s data to external media, but free online backup services provide useful redundancy that could …

如何使用Google搜索仅搜索您正在查看的网站

Have you ever wanted to search the site you’re viewing, but the built-in search box is either hard to find, or doesn’t work very well? Here’s how to add a special keyword bookmark that searches the site you’re viewing using Google’s site: search oper…

数据库候选关键词怎么求_[SEO优化技巧]美咖网络-企业网站怎么利用搜索排名做霸屏推广...

怎么利用搜索排名做霸屏推广非常多传统实业现在都面临着一个库存和销售的大问题,有货卖不出去,或者有生产实力却没好的销售渠道,该怎么办?今天我帮大家解决问题,那就是做关键词霸屏推广,什么是关键词霸屏推…

python-41: 直接使用cookies登陆网站

2019独角兽企业重金招聘Python工程师标准>>> 终于到这里了,卡了两天,纠结的地方主要是在选择什么网站来作为示范,因为现在的网站有好多都有验证码,比较难弄,或者像百度一样什么信息都不给,本来还…

chrome 停止单个请求_如何在Google Chrome上清除单个网站的存储和网站数据

chrome 停止单个请求Deleting site data, such as cache and cookies, is helpful for when a site is misbehaving. However, removing all site data in Google Chrome will sign you out of every website. Here’s how to delete data from a single site. 删除站点数据 (例…

九、搭建织梦cms网站

九、搭建织梦cms网站1、介绍:织梦内容管理系统(DedeCms) 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历多年的发展,目前的版本无论在功能,还是在易用…

mysql 查询缓存使用率_使用MySQL查询缓存来加速您的网站

mysql 查询缓存使用率One of the best ways to speed up your web application is to enable query caching in your database, which caches commonly used SQL queries in memory for virtually instant access by the next page that makes the same request. 加快Web应用程…

nginx 静态网站配置

/*************************************************************************************** nginx 静态网站配置* 说明:* 配置下面的配置中包括python、php、静态网站的配置,配置静态网站主要目的是为了以后* 能够…

网站前端_Highcharts-数据可视.0001.玩转Highcharts之配置快速入门?

简单介绍: 说明: Highcharts(4.1.6)是国际知名的一款图表插件,完全基于JS编写实现,可以轻松构建出各种图表类型,包括折线图(Line Charts)/面积图(Area Charts)/柱状图(Column Charts)/条形图(Bar Charts)/饼图(Pie Charts)/散点图(Scatter Charts)/气泡图(Bubble Charts)/动态图…