Requests库入门实例

摘要:
wd=python也是一样的同理查看google可知其接口为https://www.google.com/search?q=keyword于是可以用爬虫实现查找功能#Requestbaidu.pyimportrequestskeyword='python'url='https://www.baidu.com/s'#google把网站换了s换成searchtry:kv={'wd':keyword}#google把wd换成qr=requests.getr.raise_for_status()r.encoding=r.apparent_encodingprintexcept:print3.图片爬取和存储百度搜索一张图片,点击右键,在新分页中开启图片,然后复制网址过来即可。#Pcis.pyimportrequestsimportosurl='https://pic4.zhimg.com/80/f2ded3c7f2873e5e7d48c139e1203e5f_720w.jpg'root='D://pics//'path=root+url.split('/')[-1]     #文件名用本来的名字try:ifnotos.path.exists:#不存在路径则创建os.mkdirifnotos.path.exists:r=requests.getwithopenasf:#将文件以二进制打开f.write#content是二进制数据f.close()printelse:printexcept:print跑一下,成功后去对应的路径就能看到4.ip归属地查询这个实例和实例二是类似,但有区别,这个实例直接字符串连接。

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

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

1.亚马逊商品的爬取

Requests库入门实例第1张

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

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

于是如下处理

Requests库入门实例第2张

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

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

最后写的健壮点

#RequestAmazon.py
importrequests
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并回车,观察网址变化

Requests库入门实例第3张Requests库入门实例第4张

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

于是我们可以尝试:

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

也是一样的

同理查看google可知其接口为

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

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

#Requestbaidu.py
importrequests
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
importrequests
importos
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 notos.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地址

Requests库入门实例第5张

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

#IpQuerry.py
importrequests
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("爬取失败")

免责声明:文章转载自《Requests库入门实例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇4.Cobbler自动化安装Windows10关于C#中async/await中的异常处理(上)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

用友GRP-u8 注入-RCE漏洞复现

​ ​用友GRP-u8 注入-RCE漏洞复现 (HW第一时间复现了,当时觉得不合适,现在才发出来) 一、漏洞简介 用友GRP-u8存在XXE漏洞,该漏洞源于应用程序解析XML输入时没有进制外部实体的加载,导致可加载恶意外部文件。 二、漏洞复现 SQL注入POC POST /Proxy HTTP/1.1Host:localhost:8080Upgrade-...

推荐几款优质 Chrome 摸鱼插件,带你畅快划水

在日常工作过程中,对大部分的人来说,肯定少不了摸鱼,相信大家都是小心翼翼在摸鱼 ​如果你不能高效地摸鱼,说明你没有将工具用到极致 今天将为大家推荐几款 Chrome 摸鱼插件,帮助大家高效摸鱼、畅快划水 一键赖皮 一键赖皮是一款用于日常上班摸鱼的插件,可以快速关闭、打开(还原)网页 可以自定义几个赖皮的网站,通过 Ctrl + S 快捷键(也可以通过修...

idea双击打不开没反应的解决办法

   原文链接:https://www.cnblogs.com/jiazibo/p/14618483.html 网上找了很多方法最后才找到一个可以解决的,如果遇到的问题与我这个相同可以用这个方法解决 1.打开idea安装根目录bin下,选中idea.bat右键编辑,或者使用txt打开 2.在idea.bat最后一行添加 pause  如图   3....

《手把手教你》系列技巧篇(四十四)java+ selenium自动化测试处理https 安全问题或者非信任站点下篇(详解教程) 北京

1.简介     这一篇宏哥主要介绍webdriver在IE、Chrome和Firefox三个浏览器上处理不信任证书的情况,我们知道,有些网站打开是弹窗,SSL证书不可信任,但是你可以点击高级选项,继续打开不安全的链接。举例来说,想必大家都应该用过前几年的12306网站购票,点击新版购票,是不是会出现如下的界面。宏哥又找了一个https的页面,如下图所示:...

PostgreSQL 那些值得尝试的功能,你知道多少?

原文:PostgreSQL Features You May Not Have Tried But Should 链接: https://pgdash.io/blog/postgres-features.html 译者:Rhys_Lee,xiaoaiwhc1,边城,ljwheyxy,lnovonl 审校:开源中国,转载请注明来源 PostgreSQL包...

安装cuda实践

------------恢复内容开始------------ 开头想网络安装,发现从invidia下载东西很慢,改为下载到本地再安装。 反正证书之类的,需要先下载到本地再安装。kx上网或者不kx上网,两个方式都尝试下,下载证书或者是安装包。 两个方式都不能下载的话,我安装uget,然后就下载成功了。而,uget网上说需要先add ppa,这样操作是失败的。...