Python_爬虫3_Requests库网络爬虫实战(5个实例)

目录

实例1:京东商品页面的爬取

实例2:亚马逊商品页面的爬取

实例3:百度360搜索关键词提交

实例4:网络图片的爬取和存储

实例5:IP地址归地的自动查询


实例1:京东商品页面的爬取

import requests
url = 'http://item.jd.com/2967929.html'
try:r=requests.get(url)r.raise_for_status()r.encoding=r.apparent_encodingprint(r.text[:1000])
except:print("爬取失败")


实例2:亚马逊商品页面的爬取

import requests
url = 'http://www.amazon.cn/gp/product/B01M8L5Z3Y'
try:kv={'user-agent':'Mozilla/5.0'}r=requests.get(url,headers=kv)r.raise_for_status()r.encoding=r.apparent_encodingprint(r.text[1000:2000])
except:print("爬取失败")

 跟京东的不同,需要模拟headers向网络访问。


实例3:百度360搜索关键词提交

搜索引擎关键词提交接口

百度关键词接口:

http://www.baidu.com/s?wd=keyword

import requests
keyword="Python"
try:kv={'wd':keyword}r=requests.get("http://www.baidu.com/s",params=kv)print(r.request.url)r.raise_for_status()print(len(r.text))
except:print("爬取失败")

360的关键词接口:

http://www.so.com/s?q=keyword

import requests
keyword="Python"
try:kv={'q':keyword}r=requests.get("http://www.so.com/s",params=kv)print(r.request.url)r.raise_for_status()print(len(r.text))
except:print("爬取失败")


实例4:网络图片的爬取和存储

网络图片链接的格式:

http://www.example.com/picture.jpg

国家地理:

http://www.dili360.com

选择一个图片web页面:

http://img0.dili360.com/ga/M02/33/7C/wKgBzFSbqQyAJVAuAARB8cSWH_w695.tub.jpg

import requests
import os
url="http://img0.dili360.com/ga/M02/33/7C/wKgBzFSbqQyAJVAuAARB8cSWH_w695.tub.jpg"
root="D://bdwp//"
path=root+url.split('/')[-1]
try:if not os.path.exists(root):os.mkdir(root)if not os.path.exists(path):r=requests.get(url)with open(path,'wb') as f:f.write(r.content)f.close()print("文件保存成功")else:print("文件已存在")
except:print("爬取失败")

第一次运行:

第二次运行:


实例5:IP地址归地的自动查询

import requests
url = 'https://m.ip138.com/iplookup.php?ip='
try:kv={'user-agent':'Mozilla/5.0'}r=requests.get(url+'202.204.80.112' ,headers=kv)r.raise_for_status()r.encoding=r.apparent_encodingprint(r.text[2400:2600])
except:print("爬取失败")

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

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

相关文章

黑马微项目

目录 1 飞机票 2 生成一个五位数验证码 3 数字加密 4 数字解密 5 抢红包 6 双色球系统 7 用户登录 8 金额转换 9 手机号屏蔽 10 罗马数字转换 11 调整字符串 12 初级学生管理系统(学生数据的管理) 13 学生管理系统(用户的相关操…

C2M柔性制造模式

C2M柔性制造模式(Customer-to-Manufacturer,客户到制造商的柔性制造模式)是一种新型的生产模式,强调客户需求与制造过程的直接对接,并且能够快速响应和适应客户个性化的定制需求。这种模式结合了定制化生产与智能制造&…

IoT [remote electricity meter]

IoT [remote electricity meter] 物联网,远程抄表,电表数据,举个例子

2、开发工具和环境搭建

万丈高楼平地起,学习C语言先从安装个软件工具开始吧。 1、C语言软件工具有两个作用 1、编辑器 -- 写代码的工具 2、编译器 -- 将代码翻译成机器代码0和1 接下来我们介绍两种C语言代码工具:devcpp 和 VS2019,大家可以根据自己的喜好安装。 dev…

nrm的安装及使用

nrm的安装及使用 NRM(NPM Registry Manager)是一个用于快速切换npm(Node Package Manager)源的工具。npm是Node.js的包管理工具,用于安装、发布、管理Node.js包。由于网络原因,直接使用npm官方源&#xff…

两路组相联缓存配置

在一个2路组相联的Cache结构中,假设Cache总大小是64字节,且每条Cache line的大小是4字节。下面是详细的解释: 1. 基本配置 Cache总大小:64字节。Cache line大小:每条Cache line包含4字节的数据。2路组相联&#xff1…

网易博客旧文-----XCODE离线帮助文件使用的补充说明

XCODE离线帮助文件使用的补充说明 2012-10-11 15:38:27| 分类: 苹果开发 | 标签: |举报 |字号大中小 订阅 由于XCODE的帮助总是要访问网络,对于不方便访问的网络的童鞋来说用起来很麻烦。 网上随便搜索一下就有解决的办法: 首先…

20241115在飞凌的OK3588-C的核心板上跑Linux R4时拿大文件到电脑的方法

20241115在飞凌的OK3588-C的核心板上跑Linux R4时拿大文件到电脑的方法 2024/11/15 15:26 缘起:使用SONY 405的机芯,以1080p60录像了半小时,3.5GB的mp4视频要拿到电脑上播放确认。 方法:1、拷贝到TF卡。记住,对于FAT32…

七:如何用Chrome的Network面板分析HTTP报文

在Web开发和调试中,分析HTTP请求和响应报文可以帮助开发者了解浏览器和服务器之间的通信细节,定位并解决各种问题。Chrome浏览器的Network(网络)面板是一个强大的开发工具,它可以详细展示HTTP请求的各个方面,包括请求方法、状态码、头部信息、负载数据等。本文将介绍如何…

MySQL一些使用操作-持续更新

MySQL相关操作 1.MySQL不删除数据的情况下,让自增id重新排序 应用场景:Mysql(当你删除表中数据之后,造成自增id不连续,可能会导致需要用id进行的判断的时候不准确,所以我想到了要重新排序,当然…

async 和 await的使用

一、需求 点击按钮处理重复提交,想要通过disabled的方式实现。 但是点击按钮调用的方法里有ajax、跳转、弹窗等一系列逻辑操作,需要等方法里流程都走完,再把disabled设为false,这样下次点击按钮时就可以继续走方法里的ajax等操作…

解决 idea windows 设置maven离线模式之后,maven继续请求远程仓库

在内网开发的时候经常遇到没有办法来链接远程仓库的情况,这个时候需要设置maven的离线模式。 idea windows 设置maven离线模式之后,maven继续请求远程仓库 当设置完离线模式之后,有的时候执行maven的命令会报错,提示请求远程失败…

StructuredStreaming (一)

一、sparkStreaming的不足 1.基于微批,延迟高不能做到真正的实时 2.DStream基于RDD,不直接支持SQL 3.流批处理的API应用层不统一,(流用的DStream-底层是RDD,批用的DF/DS/RDD) 4.不支持EventTime事件时间(一般流处理都会有两个时间:事件发生的事件&am…

Python_爬虫1_Requests库入门

目录 Requests库 7个主要方法 Requests库的get()方法 Response对象的属性 爬取网页的通用代码框架 理解requests库的异常 HTTP协议及Requests库方法 HTTP协议 HTTP协议采用URL作为定位网络资源的标识。 HTTP协议对资源的操作 理解PATCH和PUT的区别 HTTP协议与Requse…

万字长文解读深度学习——生成对抗网络GAN

🌺历史文章列表🌺 深度学习——优化算法、激活函数、归一化、正则化深度学习——权重初始化、评估指标、梯度消失和梯度爆炸深度学习——前向传播与反向传播、神经网络(前馈神经网络与反馈神经网络)、常见算法概要汇总万字长文解读…

深入理解 Vue v-model 原理与应用

一、引言 在 Vue.js 开发中,v-model是一个非常重要且强大的指令。它为开发者在处理表单输入和数据双向绑定等场景中提供了极大的便利。无论是新手还是有经验的开发者,深入理解v-model对于高效地构建 Vue 应用至关重要。本文将对v-model进行深入剖析,从其基本原理、使用方式…

学SQL,要安装什么软件?

先上结论,推荐MySQLDbeaver的组合。 学SQL需要安装软件吗? 记得几年前我学习SQL的时候,以为像Java、Python一样需要安装SQL软件包,后来知道并没有所谓SQL软件,因为SQL是一种查询语言,它用来对数据库进行操…

多窗口切换——selenium

获取窗口句柄(以Python Selenium为例) current_window_handle方法 用于获取当前窗口的句柄。句柄是一个标识符,用于唯一标识一个窗口。示例代码: from selenium import webdriverdriver webdriver.Chrome() driver.get("…

Java 反射:深入探索与应用实践

在 Java 编程世界里,反射机制犹如一把神奇的钥匙,能够在运行时动态地获取类的信息、访问和修改类的成员以及调用类的方法。它打破了传统编译时静态绑定的限制,为开发者提供了极大的灵活性和扩展性,使得 Java 程序能够实现诸如动态…

Leecode刷题C语言之统计好节点的数目

执行结果:通过 执行用时和内存消耗如下: 题目:统计好节点的数目 现有一棵 无向 树,树中包含 n 个节点,按从 0 到 n - 1 标记。树的根节点是节点 0 。给你一个长度为 n - 1 的二维整数数组 edges,其中 edges[i] [ai,…