Requests库
网络连接有风险,异常处理很重要
菜瓶小练习
#简例一:京东商品页面爬取
import requests
url='https://item.jd.com/41382086483.html'
try:
r=requests.get(url)
r.raise_for_status()
r.encoding=r.apparent_encoding
print(r.text[:1000])
except:
print('爬取失败')
#亚马逊商品页面的爬取(亚马逊有保护数据哦)
import requests
url='https://www.amazon.cn/dp/B01NAS120J/ref=cngwdyfloorv2_recs_0/461-5401091-5742956?pf_rd_m=A1AJ19PSB66TGU&pf_rd_s=desktop-2&pf_rd_r=7MVTE0W25HQC77D3E4TK&pf_rd_r=7MVTE0W25HQC77D3E4TK&pf_rd_t=36701&pf_rd_p=d0690322-dfc8-4e93-ac2c-8e2eeacbc49e&pf_rd_p=d0690322-dfc8-4e93-ac2c-8e2eeacbc49e&pf_rd_i=desktop'
try:
kv={'user-agent':'Mozilla/5.0'}#通过header字段,模拟浏览器向亚马逊服务器提出http请求
r=requests.get(url,headers=kv)
r.raise_for_status()
r.encoding=r.apparent_encoding
print(r.text[1000:2000])
except:
print('爬取失败')
#百度搜索关键词提交
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('爬取失败')
#爬取某张图片
import requests
import os
url='http://pic29.nipic.com/20130601/12122227_123051482000_2.jpg'
root='D://'
path=root+url.split('/')[-1] #以35m58PIChbY_1024作为文件名
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("爬取失败")