zoukankan      html  css  js  c++  java
  • python网络爬虫与信息提取 学习笔记day2

    Day2:

    查看robots协议:

    查看京东的robots协议

     

    查看百度的robots协议,可以看到百度拒绝了搜狗的爬虫233


    爬取京东商品页面相关信息:

    import requests
    url = "https://item.jd.hk/1974631870.html"
    try:
        r = requests.get(url)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        print(r.text[:1000])
    except:
        print("产生异常")

     

    爬取亚马逊商品页面相关信息:

    由于亚马逊拒绝爬虫访问,所以需要更改header的值,将python伪装成浏览器访问

    import requests
    url = "https://www.amazon.cn/dp/B0186FESGW/ref=fs_kin"
    try:
        kv = { 'user-agent':'Mozilla/5.0'}
        r = requests.get(url,headers = kv)
        r.status_code
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        print(r.text[:1000])
    except:
        print("产生异常")

     

    爬取百度关键词查询结果 :    本例关键词为python

     1 import requests
     2 keyword = "python"
     3 try:
     4     kv = {'wd':keyword}
     5     r = requests.get("http://www.baidu.com/s",params=kv)
     6     print(r.request.url)
     7     r.raise_for_status()
     8     print(len(r.text))
     9     
    10 except:
    11     print("爬取失败")

     

    网络图片,视频等二进制文件的爬取和保存:

    import requests
    import os
    
    url = "http://image.nationalgeographic.com.cn/2017/0819/20170819021922613.jpg"
    root = "f://pics//"
    path = root + url.split('/')[-1]
    try:
        if not os.path.exists(root):    #处理根目录是否存在问题
            os.mkdir(root)
        if not os.path.exists(path):    #处理文件是否存在问题
            kv = { 'user-agent':'Mozilla/5.0'}
            r = requests.get(url,headers = kv)
           
            r.status_code
            with open(path,'wb') as f:
                f.write(r.content)#r.content为二进制形式
                f.close()
                print("文件保存成功")
        else:
            print("文件已存在")
    except:
        print("爬取失败")

    Ip地址归属地的查询:

    import requests
    url = "http://m.ip138.com/ip.asp?ip="
    try:
        r=requests.get(url+'202.204.80.112')
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        print(r.text[-500:])
    except:
        print("爬取失败")
        

  • 相关阅读:
    asp.net mvc Bundle
    Nginx配置文件详细说明
    Nginx 负载均衡配置和策略
    WPF 体系结构
    理解WPF中的视觉树和逻辑树
    物料需求預估
    缓存ViewState减少网络传输
    xingfu
    如何在表格中插入图片
    add
  • 原文地址:https://www.cnblogs.com/yezhaodan/p/7419284.html
Copyright © 2011-2022 走看看