python爬虫之Requests实例(二)

在学习了一大堆的基本概念啥的,可能很多人不明白怎么具体怎么写爬取代码,故我们写几个例子来巩固一下我们学的知识


爬取京东某商品页面

其链接为:https://item.jd.com/2967929.html
在这里插入图片描述
现在开始爬取:

import requests

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

这个代码比较简单,也比较基础,其结果为:
在这里插入图片描述

爬取亚马逊某商品页面

其网址为:https://www.amazon.cn/gp/product/B01M8L5Z3Y
在这里插入图片描述
如果按照常规方法会发现r.encoding不是200,故我们可以通过修改头部来使我们的访问不被阻止
需要修改headers字段,模拟浏览器向网站发起访问
增加并修改部分代码:

kv = {'user-agent': 'Mozilla/5.0'}
r = requests.get(url, headers=kv)

可爬取到结果:
在这里插入图片描述

百度360搜索关键字提交

百度的关键词接口:
http://www.baidu.com/s?wd=keyword
360的关键字接口:
http://www.baidu.com/s?q=keyword

我们可以利用params实现关键字

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("爬取失败")

结果如下:
在这里插入图片描述

网络图片的爬取与存储

网络图片链接的格式:
http://www.example.com/picture.jpg

import requests
import os

url = "http://image.nationalgeographic.com.cn/2017/0211/20170211061910157.jpg"
root = "D://pics//"
path = root + url.split('/')[-1]
try:
	if not os.path.exists(root):
		os.mkdir(root)
	#判断根目录是否存在,若不存在,通过mkdir新建
	
	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("提取失败")

我们可以查看自己的D盘是否存在
在这里插入图片描述
说明存储成功

IP地址归属地的自动查询

我们可以通过这个接口去查询
http://m.ip138.com/ip.asp?ip=ipaddress
举个例子:

import requests

url = "http://m.ip138.com/ip.asp?ip="
try:
	r = requests.get(url+'202.204.80.112')
	r.raise_for_status()
	r.encoding = r.apparent_encoding
	print(r.text[-500:])
except:
	print("爬取失败")

结果如下:
在这里插入图片描述


第二篇关于爬虫的Requests的实例的学习就到此结束啦!
具体可参看北京理工大学的慕课

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值