Requests库入门实例

了解了Requests库的基本用法,附上一篇理论链接https://www.cnblogs.com/hao11/p/12593419.html

我们就可以做一些小实例了

1.亚马逊商品的爬取

  

首先用get方法对亚马逊网站发送请求,然后看返回的状态码,此处503不是200,表明没有成功,

然后要看text内容,首先检查编码格式,header中不存在,用备用的替代,然后看到text中  For information about migrating to our APIs refer to our Marketplace APIs 还有确认我们是不是爬虫,说明这个网站对爬虫做了限制。

于是如下处理

首先查看请求头,可以看到是原生的python请求,这样会被一些网站认为爬虫被拒绝访问

  我们将请求头的代理字段替换, ‘Mozilla/5.0’ 伪装成火狐浏览器进行访问即可

  最后写的健壮点

  

#RequestAmazon.py
import requests
url = ‘https://www.amazon.cn/‘
try:
    kv = {‘user-agent‘:‘Mozilla/5.0‘}
    r = requests.get(url, headers=kv)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[1000:2000])
except:
    print("爬取失败")

2.百度/谷歌搜索关键词提交

  首先打开百度,输入python并回车,观察网址变化

  百度的wd字段就是我们搜索的关键词

  于是我们可以尝试:

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

    也是一样的

    同理查看google可知其接口为

    https://www.google.com/search?q=keyword

  于是可以用爬虫实现查找功能

#Requestbaidu.py
import requests
keyword = ‘python‘
url = ‘https://www.baidu.com/s‘ #google把网站换了 s换成search
try:
    kv = {‘wd‘:keyword}  #google把wd换成q
    r = requests.get(url, params=kv)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[1000:2000])
except:
    print("爬取失败")

3.图片爬取和存储

  百度搜索一张图片,点击右键,在新分页中开启图片,然后复制网址过来即可。

#Pcis.py
import requests
import os
url = ‘https://pic4.zhimg.com/80/f2ded3c7f2873e5e7d48c139e1203e5f_720w.jpg‘
root = ‘D://pics//‘
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, timeout=30)
        with open(path,‘wb‘) as f:      #将文件以二进制打开
            f.write(r.content)          #content是二进制数据
            f.close()
            print(‘文件保存成功‘)
    else:
        print(‘文件已存在‘)
except:
    print("爬取失败")

  跑一下,成功后去对应的路径就能看到

4.ip归属地查询

   这个实例和实例二是类似,但有区别,这个实例直接字符串连接。

    首先登录m.ip138.com 查询ip地址

    

    于是其接口是:http://m.ip138.com/ip.asp?ip=ipaddress

#IpQuerry.py
import requests
url = ‘http://m.ip138.com/iplookup.asp?ip=‘
ip = ‘111.111.11.11‘
try:
    r = requests.get(url+ip, timeout=30)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.status_code)
    print(r.text[-300:])
except:
    print("爬取失败")

    

原文地址:https://www.cnblogs.com/hao11/p/12609807.html

时间: 2024-10-05 04:56:12

Requests库入门实例的相关文章

python Requests库入门

一.Requests 库的安装 对Requests 库 更多了解移步:http://www.python-requests.org 安装操作: win平台:"以管理员身份运行" cmd ,执行 pip install requests 测试安装是否成功: >>> import requests >>> r=requests.get('http://www.baidu.com') >>> print(r.status_code) 20

Python爬虫之Requests库入门

目录 Requests库 Requests库的7个主要方法 Requests库的get()方法 Response对象的属性 理解Requests库的异常 爬取网页的通用代码框架 HTTP协议 协议对资源的操作 理解PATCH和PUT的区别 HTTP协议与Requests库 Requests库 Requests库的7个主要方法 方法 说明 requests.request() 构造一个请求,支撑以下各方法的基础方法 requests.get() 获取HTML网页的主要方法,对应于HTTP的GET

Requests库入门——应用实例-百度、360搜索关键词提交

1 import requests 2 keyword = "Python" 3 try: 4 kv = {'wd':keyword} 5 r = requests.get("http://www.baidu.com/s",params=kv) 6 print(r.request.url) 7 r.raise_for_status() 8 print(len(r.text)) 9 except: 10 print("爬取失败") 原文地址:htt

requests库入门

爬去网页的通用代码框架 try: r=requests.get(url,timeout=30) r.raise_for_status() r.encoding=r.apparent_encoding return r.text except: return "产生异常"

python requests库入门[转]

首先,确认一下: Requests 已安装 Requests是 最新的 让我们从一些简单的示例开始吧. 发送请求 使用Requests发送网络请求非常简单. 一开始要导入Requests模块: >>> import requests 然后,尝试获取某个网页.本例子中,我们来获取Github的公共时间线 >>> r = requests.get('https://github.com/timeline.json') 现在,我们有一个名为 r 的 Response 对象.可

requests库入门之小爬虫

通用代码框架: try: r=requests.get(url,timeout=30) r.raise_for_status() r.encoding=r.apparent_encoding return r.text except: return "产生异常" 爬取某网页100次花费的时间 import requests import time def getHTMLText(url): try: r=requests.get(url,timeout=30) r.raise_for_

Python入门必学2个重点及精髓-Requests库~正则基本使用(上)

作为一种便捷地收集网上信息并从中抽取出可用信息的方式,网络爬虫技术变得越来越有用.使用Python这样的简单编程语言,你可以使用少量编程技能就可以爬取复杂的网站. 如果手机上显示代码错乱,请分享到QQ或者其他地方,用电脑查看!!! python能干的东西有很多,这里不再过多叙述,直接重点干货. 什么是Requests Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库 如果你看过上篇文章关于urllib库的使用,你会发现,其实

Requests库使用的简单实例

1.爬取单个京东商品信息实例 import requests url = 'https://item.jd.com/26809739632.html' try: r = requests.get(url) r.raise_for_status() r.encoding = r.apparent_encoding print((r.text[:1000])) except: print('爬取失败!') 2.爬取单个亚马逊商品信息实例 在引用爬取京东商品信息实例的代码时出现错误,例如我的r.sta

python爬虫从入门到放弃(四)之 Requests库的基本使用

什么是Requests Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库如果你看过上篇文章关于urllib库的使用,你会发现,其实urllib还是非常不方便的,而Requests它会比urllib更加方便,可以节约我们大量的工作.(用了requests之后,你基本都不愿意用urllib了)一句话,requests是python实现的最简单易用的HTTP库,建议爬虫使用requests库. 默认安装好python之后,是没有安