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_encoding
print(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_encoding
print(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_encoding
print(r.text[2400:2600])
except:
print("爬取失败")