当前位置: 首页 > article >正文

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


http://www.kler.cn/a/396895.html

相关文章:

  • 深入探索 Kubernetes 安全容器:Kata Containers 与 gVisor
  • [Codesys]常用功能块应用分享-BMOV功能块功能介绍及其使用实例说明
  • 基本数据类型和包装类型的区别、缓存池、自动拆箱装箱(面试题)
  • 思源笔记 Creating group siyuan (1000) permission denied (are you root?)
  • C#界面设计
  • 【Vitepress报错】Error: [vitepress] 8 dead link(s) found.
  • Qt 5.6.3 手动配置 mingw 环境
  • manjaro蓝牙鼠标无法连接问题解决
  • Front Panel Window Bounds 与 Front Panel Window Bounds 的区别与应用
  • burp无法抓app包的原因以及如何测试
  • Android OpenGL ES详解——glTexImage2D方法
  • nacos集群源码解析-cp架构
  • Python Tornado框架教程:高性能Web框架的全面解析
  • 真正的一站式视频出海解决方案
  • Python “文件和IO操作” ——Python面试100道实战题目练习,巩固知识、检查技术、成功就业
  • 【书生大模型实战营 闯关材料】入门岛:第4关 玩转HF/魔搭/魔乐社区
  • 前端Express.js面试题甄选及参考答案
  • Linux——环境基础开发工具使用2(正在更新中...)
  • aws(学习笔记第十四课) 面向NoSQL DB的DynamoDB
  • 1+X应急响应(网络)系统加固:
  • 基于BERT的命名体识别(NER)
  • 网关的发展趋势,网关开源项目Higress
  • WebRTC 和 WebSocket
  • 选择排序+快速排序递归版(二)
  • 缓存冲突(Cache Conflict)
  • Spring:IOC实例化对象bean的方式