pythonrequests示例_python学习之——Requests库的5个小实例

1、获取京东某个商品的信息

importrequests

url= 'https://item.jd.com/100008348542.html'

try:

r=requests.get(url)

r.raise_for_status()

r.encoding=r.apparent_encodingprint(r.text[:1000])except:print('爬取失败!')

2、获取亚马逊某个商品的信息

实例2与实例1存在一些区别,亚马逊网站会进行来源审查

importrequests

url= 'https://www.amazon.cn/dp/B01N6KMXF0/ref=s9_acsd_ri_bw_r2_r0_3_i?pf_rd_m=A1U5RCOVU0NYF2&pf_rd_s=merchandised-search-3&pf_rd_r=J68K7WQ4X4HQFMA4V7CF&pf_rd_t=101&pf_rd_p=c3aaa05e-9c4b-4c78-a96e-72f860b7d59d&pf_rd_i=144154071'r=requests.get(url)print(r.status_code)print(r.request.headers)

结果:503

{'User-Agent': 'python-requests/2.23.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}

url地址是亚马逊某个商品的链接

从输出的headers可以看出’User-Agent’: ‘python-requests/2.23.0’,网站会限制其访问

解决:将headers参数设置为user-agent:Mozilla/5.0,来标识为浏览器请求

importrequests

url= 'https://www.amazon.cn/dp/B01N6KMXF0/ref=s9_acsd_ri_bw_r2_r0_3_i?pf_rd_m=A1U5RCOVU0NYF2&pf_rd_s=merchandised-search-3&pf_rd_r=J68K7WQ4X4HQFMA4V7CF&pf_rd_t=101&pf_rd_p=c3aaa05e-9c4b-4c78-a96e-72f860b7d59d&pf_rd_i=144154071'kw = {'user-agent': 'Mozilla/5.0'}try:

r= requests.get(url,headers=kw)

r.raise_for_status()

r.encoding=r.apparent_encodingprint(r.text[:1000])except:print('爬取失败!')

3、百度/360关键词提交

要实现关键词的提交,首先要知道两个搜索引擎的关键词接口

百度:

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

360:

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

代码:

importrequests

url= 'https://www.so.com/s'kv= {'q': 'python'}try:

r= requests.get(url, params=kv)

r.raise_for_status()

r.encoding=r.apparent_encodingprint(r.request.url) #返回搜索python时的url链接:https://www.so.com/s?q=Python

print(len(r.text))except:print('爬取失败!')

4、网络图片的爬取和存储

importrequestsimportos

url= 'http://kr.shaodiyejin.com/file/2020/0228/smallee757776baa681e0f5af2fcf87084932.jpg' #图片链接

root = 'D://pics//' #图片保存路径,或者'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)

f= open(path, 'wb')

f.write(r.content)

f.close()print('文件保存成功')else:print('文件已存在')except:print('图片获取失败')

当然也可以爬取动态或者短视频,只需要有正确的链接地址

5、ip地址归属地查询

importrequests

url= "http://ip.tool.chinaz.com/"

try:

r=requests.get(url+'166.111.4.100')

r.raise_for_statusprint(r.status_code)

r.encoding=r.apparent_encodingprint(r.text[18000:19000])except:print('获取失败')

注意:

1、要获取网站的提交格式(最重要)

这是查询ip地址:202.204.80.112时,网址的格式

不同的网站格式不同,这个自己查看

2、不同网站返回的信息不同,以上面为例,在返回的r.text中,ip地址归属地在18000~19000字节之间,这个需要字节去找。r.text是返回的所有信息

3、有些网站可能不行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值