Python爬虫 requests库实践

Python爬虫(二)

学习Python爬虫过程中的心得体会以及知识点的整理,方便我自己查找,也希望可以和大家一起交流。

—— requests库实践 ——

1.京东商品页面的爬取

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

结果如图:

requests库实践

2. 实例3:百度360搜索关键词提交

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

百度

import requests 
keyword = "Python" 
try:     
	kv = {'wd':keyword}     
	r = requests.get("https://www.baidu.com/s",params=kv)     
	print(r.request.url)     
	r.raise_for_status()     
	print(len(r.text)) 
except:     
	print("爬取失败")

结果如图:
 requests库实践
【注意】由于百度对搜索地址安全的考虑,按照上述方法进行关键词提交会直接进入到百度的安全验证界面,即图中长度较长的url地址,完成验证才可以进入搜索界面,是一种反爬机制。

搜狗

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

结果如图:
requests库实践
很显然,搜狗在反爬机制上就没有百度那么严密,所以我们可以直接进入到结果页面。

3. 网络图片的爬取和存储

import requests
import os
url = "http://img0.dili360.com/ga/M00/48/F7/wKgBy1llvmCAAQOVADC36j6n9bw622.tub.jpg"
root="E://"
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)         
        r.raise_for_status()         
        with open(path, 'wb') as f:             
            f.write(r.content)# r.content表示返回内容的二进制形式,
            f.close()    # 图片是以二进制形式存储的
            print("文件保存成功")    

    else:         
        print("文件已存在")
except:     
    print("爬取失败")

结果如下:requests库实践

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值