python简单页面爬取

一:京东页面商品信息爬取

python简单页面爬取_第1张图片

网页地址为:https://item.jd.com/100006359561.html

爬取代码为:

import requests
url = "https://item.jd.com/100006359561.html"
try:
    r = requests.get(url)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[:1000])//截取前1000个字符
except:
    print("打印失败")

结果为:




    
    
    【华为Mate Xs】华为 HUAWEI Mate Xs 5G麒麟990 SoC旗舰芯片 8英寸可折叠全面屏8GB+512GB星际蓝 5G全网通【行情 报价 价格 评测】-京东
    
    
    
    
    
    
    
        
    

案例2:亚马逊商品页面的提取

python简单页面爬取_第2张图片

 代码如下:

import requests
url = "https://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])
except:
    print("打印失败")

 由于亚马逊网站检验到是python进行网络爬虫,返回的代码号不是200,故需要模拟一个浏览器来进行访问,利用键值对来更改头部的信息

案例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("http://www.baidu.com/s",params = kv)
    print(r.request.url)
    r.raise_for_status()
    print(len(r.text))
except:
    print("打印失败")

带上关键词使用参数params

案例4:网络图片的爬取与存储

网络图片链接的格式:

http://www.example.com/picture.jpg

代码如下:

import requests
import os
url = "http://image.ngchina.com.cn/2020/0228/20200228015847431.jpg"
root = "D://pics//"
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地址归属地的自动查询

python简单页面爬取_第3张图片

http://m.ip138.com/ip.asp?ip=ipaddress

 代码如下:

import requests
url = "http://m.ip138.com/ip.asp?ip=202.204.80.112"
try:
    kv = { 'user-agent' : 'Chrome/10.0' }
    r = requests.get(url,headers = kv)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[:1000])      
        
except:
    print("爬取失败")

 

 

 

你可能感兴趣的:(python)