网络爬虫:URL链接中含{}时,运用format输出的变化特例

2023-11-17

示例——维基百科日本检索(keyword:漫画)

https://ja.wikipedia.org/w/index.php?title=%E7%89%B9%E5%88%A5:%E6%A4%9C%E7%B4%A2&limit=20&offset=0&ns0=1&search=%E6%BC%AB%E7%94%BB&advancedSearch-current={}

此为该翻页URL链接的第一页
在这里插入图片描述

观察该网页URL变化,可发现offset每页递增20

常规写法如下

for i in range(0,1000,20):                                   #以50页为例,i每页增加20
	url = "https://ja.wikipedia.org/w/index.php?title=%E7%89%B9%E5%88%A5:%E6%A4%9C%E7%B4%A2&limit=20&offset={}&ns0=1&search=%E6%BC%AB%E7%94%BB&advancedSearch-current={}".format(i)

	

此时运行程序报错:

tuple index out of range

元组数量超出范围,观察format格式化输出,URL链接中存在两个{},但format提供的参数只有i

原URL中第二个{}为空,不含任何参数,故我们赋予format格式化输出中第二个参数为None

for i in range(1,1000,20):
url = 'https://ja.wikipedia.org/w/index.php?title=%E7%89%B9%E5%88%A5:%E6%A4%9C%E7%B4%A2&limit=20&offset={}&ns0=1&search=%E6%BC%AB%E7%94%BB&advancedSearch-current={}'.format(i,None)

观察输出结果
在这里插入图片描述
此时可正确输出URL链接

贴上源代码

def get_url(header):
    for i in range(0,1000,20):
        try:
            requests.packages.urllib3.disable_warnings()
            url = 'https://ja.wikipedia.org/w/index.php?title=%E7%89%B9%E5%88%A5:%E6%A4%9C%E7%B4%A2&limit=20&offset={}&ns0=1&search=%E6%BC%AB%E7%94%BB&advancedSearch-current={}'.format(i,None)
            selector = etree.HTML(requests.get(url, headers=header,verify=False).text)
            urls = selector.xpath('//ul[@class="mw-search-results"]/li[@class="mw-search-result"]//a/@href')
            for one in urls:
                if 'http' not in one:
                    one = 'https://ja.wikipedia.org' + one
                    print(one)
                with open("维基百科_url.txt", "a", encoding="utf-8") as w:
                    w.write(one+"\n")
        except Exception as e:
            print(e)
            continue
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网络爬虫:URL链接中含{}时,运用format输出的变化特例 的相关文章

  • 9个爬虫基础实战汇总+4个专业爬虫练手站推荐

    个人主页 互联网阿星 格言 选择有时候会大于努力 但你不努力就没得选 作者简介 大家好我是互联网阿星 和我一起合理使用Python 努力做时间的主人 如果觉得博主的文章还不错的话 请点赞 收藏 留言 支持一下博主哦 行业资料 PPT模板 简
  • [python爬虫] 招聘信息定时系统 (一).BeautifulSoup爬取信息并存储MySQL

    这系列文章主要讲述 如何通过Python爬取招聘信息 且爬取的日期为当前天的 同时将爬取的内容保存到数据库中 然后制作定时系统每天执行爬取 最后是Python调用相关库发送短信到手机 最近研究了数据库的定时计划备份 联系爬虫简单做了这个实验
  • 批量爬取百度图片

    输入关键字和要爬取的数量 直接爬取图片并保存到本地 这个比较简单 直接使用即可 import requests import json word input 输入您需要爬取的关键字 page num int input 需要爬取多少页 一页
  • Python使用Selenium WebDriver的入门介绍及安装教程

    Selenium WebDriver 入门 一 什么是Selenium WebDriver 二 安装Selenium WebDriver 2 1 安装selenium类库 2 2 安装浏览器驱动 2 3 配置环境变量 三 编写第一个Sele
  • Python爬虫学习笔记(四)————XPath解析

    目录 0 xpath最新下载地址和安装教程 1 xpath安装 2 xpath基本使用 3 xpath基本语法 4 实例 1 xpath解析本地文件 2 xpath解析服务器响应的数据 获取百度网站的 百度一下 四个字 获取站长素材网站情侣
  • 如何更高效的提高CSDN浏览量 - 提升博客的曝光度

    前言 CSDN作为中国最大的IT技术社区 对于技术人员而言 拥有高浏览量的博客是提升个人知名度和影响力的关键 本文将介绍一个名为 CSDN Browsing Plus 的工具 通过它 我们可以更高级地增长CSDN的浏览量 提升博客的曝光度
  • 抓取招聘信息:从招聘网站获取职位信息

    目录 1 抓取招聘信息简介 2 准备工作 3 分析招聘网站结构 4 编写招聘信息爬虫
  • Charles证书-手机刷入系统信任证书

    最近面试需要 重新捡起了爬虫 在抓包的时候发现尽管按照Charles的要求去安装证书 还是会抓不到https的包 最后发现需要把用户信任证书是不够的 需要系统信任证书才行 第一步 把代理设置成Charles的代理 具体做法 Help SSL
  • python搭建ip池

    在爬取网站的时候我们有时候会遭受封ip等显现 因此我们需要搭建自己的ip池用于爬虫 代码过程简述 1 爬取代理ip网站信息 2 将获取的信息处理得到ip等关键信息 3 保存首次获取的ip信息并检测其是否可用 4 检测完毕将可用ip保存 搭建
  • 第35讲:Xposed+模拟器的详细使用

    如果你对逆向有所涉猎的话 可能听说过 Hook 利用 Hook 技术我们可以在某一逻辑的前后加入自定义的逻辑处理代码 几乎可以实现任意逻辑的修改 在前面的 JavaScript 逆向实战课时我们也初步体会了 Hook 的功效 如果你对 Ho
  • 猿人学第3题-访问逻辑 - 推心置腹分析

    3 访问逻辑 推心置腹分析 1 请求页面并进行抓包 https match yuanrenxue cn match 3 2 对抓包进行分析 判断发现每次数据请求前先请求 https match yuanrenxue cn jssm 分析参数
  • 【python爬虫专项(25)】新型冠状病毒肺炎B站视频弹幕数据爬并做数据词云展示

    1 查看要爬取页面 打开B站网址 输入 新型冠状病毒肺炎 关键字 显示界面如下 2 确定爬虫逻辑 查看网页的内容后 一个网址页面下20个视频 这里只采集20页的视频数据 共400个视频 因为是出现的视频按照点击量进行排序的 所以再往后的视频
  • requests.exceptions.SSLError: HTTPSConnectionPool用python挂代理爬国外网站报错

    我想要爬取国外网站信息 但是由于需要长时间挂梯子进行一些交互 因此用python爬取数据时就会报以下错误 我找了好多解决办法 但大多数都不是由于挂代理而引起的 这里我只针对挂代理进行爬取而出现这种报错提供一个解决方法 在代码里加入协议改一下
  • python爬虫程序之百度翻译,pyexecjs模块的用法(python里的js解析库)

    目录 百度翻译爬虫程序 1 需求分析 2 URL分析 3 难点 请求参数分析 4 如何生成sign值 5 pyexecjs模块 6 程序设计 7 程序改进思路 pyexecjs模块是python爬虫库里关于javaScript的一套程序 它
  • Python爬虫实战之电影爬取过程

    俗话说 兴趣所在 方能大展拳脚 so结合兴趣的学习才能事半功倍 更加努力专心 apparently本次任务是在视频网站爬取一些好看的小电影 地址不放 狗头保命 只记录过程 实现功能 从网站上爬取采用m3u8分段方式的视频文件 对加密的 ts
  • scrapy 快速入门

    安装Scrapy Scrapy是一个高级的Python爬虫框架 它不仅包含了爬虫的特性 还可以方便的将爬虫数据保存到csv json等文件中 首先我们安装Scrapy pip install scrapy 在Windows上安装时可能会出现
  • 网络爬虫 - 1 网络爬虫基本概念和相关工具

    网络爬虫基本概念和相关工具 1 基本概念 1 什么是网络爬虫 web crawler 以前经常称之为网络蜘蛛 spider 是按照一定的规则自动浏览万维网并获取信息的机器人程序 或脚本 曾经被广泛的应用于互联网搜索引擎 使用过互联网和浏览器
  • 淘宝天猫1688数据采集API获取商品详情数据API商品列表API测试示例

    想要把1688 淘宝 天猫平台的商品采集到自己的店铺 通过1688API关键字搜索item search和获取商品详情item get即可实现这个需求 item get 获得1688商品详情 公共参数 1688 item get 名称 类型
  • 跨境电商三大趋势已经涌现

    在过去的几年里 跨境电商在推动外贸增长中发挥了至关重要的作用 成为了引领行业发展的强大引擎 然而 随着2024年的到来 跨境电商行业又站在了崭新的起点 准备攀登新的发展高峰 数据显示 得益于经济的逐步复苏 未来三年跨境电商行业预计将以16
  • 如何快速搭建一个自营商城?(调用电商API实现快速采集商品)

    一 背景介绍 在数字化时代 电商行业蓬勃发展 无数商家涌入这片蓝海 对于许多有志于开拓电商业务的企业和个人来说 快速搭建一个自营商城成为了迫切的需求 然而 传统意义上的自建商城需要投入大量的人力 物力和时间 这让许多初创企业和个人望而却步

随机推荐

  • UNI APP---Android端原生插件开发实战(一)

    1 前言 最近一个项目要求我们的产品必须走网络隧道 并且提供了对应的SDK 很明显只能通过原生开发的方式才能实现这个流程 笔者没有做过原生开发 也没有学过java 所以也踩了不少坑啊 花了两天时间总算完成任务 今天系统的总结下步骤 由于是根
  • 第一章 Qt入门

    2017 10 20 HelloZEX 感谢奇趣科技公司 Trolltech Qt门户 https www qt io 为我们提供了Qt 一种图形用户界面框架 利用Qt提供的C 应用程序开发框架 可以轻松实现 一次编写 随处编译 跨平台解决
  • 深度学习过程中测试准确率先上升后下降是为什么?

    很典型的过拟合问题 过拟合问题的表现 在训练过程中的验证准确率前上升 后下降 即在验证集上的表现先好后差 造成过拟合的原因 数据相对模型来说比较简单 即模型的表达能力过剩 在初始训练阶段 模型逐渐开始学习到一些信息 因而在验证集上的表现是提
  • setTimeout引发的刨根问底

    setTimeout 定时器 是JavaScript中一个比较重要且常用的方法 该方法用于在指定的毫秒数后调用函数或计算表达式 平时开发可能基本都是使用 setTimeout fn ms 的形式 当然还有比较神奇的用法 特别是在前端面试中
  • flex弹性布局教程-07容器属性flex-direction

    本节目标 掌握flex direction的使用 了解主轴变化的概念 内容摘要 本篇讲解了容器属性 flex direction 用来设置主轴的方向 阅读时间大约10 15分钟 flex容器属性 前面讲的属性都是设置在项目上的 另外还有6个
  • hud 1467(动态规划。解题报告)

    题目的地址 http acm hdu edu cn showproblem php pid 1467 在给出的三角型中 找出最大的白色三角形 三角形最大个数可用层数表示 分别对向上 和向下的三角形进行遍历 如果向下的三角形a i j 为白
  • 5V升压8.4V 25W升压充电一体芯片选型

    第一款AH3300 5V升压8 4V 25W升压充电一体芯片AH3300是一款工作于4V到28V的PFM升压型充电控制集成电路 AH3300两串锂电池升压充电芯片 内部集成有基准电压源 5V电压调制单元 电感电流检测单元 电池电压检测电路和
  • 离线环境下批量配置Python的各种依赖包

    如何在离线环境下一次性的批量配置Python依赖包 如果你的工作环境要求断网或离线 那么在进行Python的环境配置时需要频繁下载依赖包 例如在配置tensorflow或者mmdetection等 如果一个一个下载导入内网那就很坑 如何批量
  • Python(六):函数与Lambda表达式

    函数与Lambda表达式 1 函数 还记得 Python 里面 万物皆对象 么 Python 把函数也当成对象 可以从另一个函数中返回出来而去构建高阶函数 比如 参数是函数 返回值是函数 函数的定义 函数以def关键词开头 后接函数名和圆括
  • Redis-cli简单操作命令

    Redis一大特点就是提供list set zset hash等数据结构的存储 下面就是它的一些主要操作命令 redis cli h ip p 6379 SELECT 1 切换数据库 DBSIZE 查看当前数据库key的数量 FLUSHDB
  • shell 里执行sqlldr,not found

    解决方法 设置用户的环境变量 方法1 把Oracle的环境变量加到运行命令的用户的 home username bash profile里 方法2 直接切换Oracle用户执行
  • Pandas的学习(读取mongodb数据库集合到DataFrame,将DataFrame类型数据保存到mongodb数据库中)

    1 读取mongodb数据库集合到DataFrame import pymongo import pandas as pd client pymongo MongoClient 数据库连接字符串 第二种方式 host localhost p
  • python3 No module named 'PIL'

    在python3 scrapy框架已经安装好的情况下 还是出现了 python3 No module named PIL 在Python3下 PIL已经被Pillow替代了 所以只需要安装Pillow就可以了 使用命令 pip3 insta
  • 字符编码和字符集有什么区别?Unicode是什么,和UTF-8是什么关系?你想知道的都在这篇文章了

    前言 想必大家编写代码时肯定和我一样 也遇到过汉字乱码的问题 特别是 有时候和上下游对接接口 不能统一编码格式的话 一堆乱码问题 让人头皮发麻 那么为什么会有这么多的乱码问题 什么是字符编码 什么是字符集 他们之间有什么区别和联系 什么是
  • VMware的两种备份方式

    1 VMware的系统备份方式 快照备份 克隆备份 2 快照备份 快照 又称还原点 就是保存在拍快照时候的系统的状态 包含了所有的内容 在后期的时候随时可以恢复 拍摄快照 第一步 启动Linux的操作系统 快照备份是在系统启动后进行操作的
  • 【STM32】输入捕获实验原理

    目录 输入捕获原理框架 输入捕获实验工作原理 1 滤波 2 设置捕获极性 3 设置输入捕获映射通道 4 预分频 5 中断开启 输入捕获有关库函数及操作 1 通道初始化函数 TIM ICInit 2 通道极性设置 TIM OCxPolarit
  • Unity_AR_Vuforia_开启手机自带闪光灯_及开启手机前后摄像头切换_相机自动对焦

    关键代码如下 using System Collections using System Collections Generic using UnityEngine 引入Vuforia命名空间 namespace Vuforia publi
  • 【网络】能远程电脑,但ping不通

    网络 能远程电脑 但ping不通 问题描述 远程电脑正常 Wireshark显示ping不通 TCP IP协议 问题描述 今天上午老师说实验室小二楼办公室的电脑集群A网络断了 因此检查了一下情况 发现出现了以下问题 能打开学校的网络通界面
  • R语言零基础入门教程 第五章 高级绘图(3)lattice包绘图工具 ggplot2包绘图工具 交互式绘图工具简介交互式绘图工具简介ggplot

    关注公众号凡花花的小窝 收获更多的考研计算机专业编程相关的资料 ggplot2中采用 来添加图层 ggplot2中图层的概念和PS中图层的概念很像 可以这样理解ggplot2中的图层 每个图层可以代表一个图形组件 例如下面要介绍的几何对象
  • 网络爬虫:URL链接中含{}时,运用format输出的变化特例

    示例 维基百科日本检索 keyword 漫画 https ja wikipedia org w index php title E7 89 B9 E5 88 A5 E6 A4 9C E7 B4 A2 limit 20 offset 0 ns