精华内容
下载资源
问答
  • python request 获取网络数据

    千次阅读 2018-01-23 22:49:24
    # encoding=utf-8 import requests import json import pandas as pd url = 'https://api.github.com/repos/pydata/pandas/milestones/28/labels' resp = requests.get(url) print 'resp:=\n', resp data = json.lo
    # encoding=utf-8
    import requests
    import json
    import pandas as pd
    
    url = 'https://api.github.com/repos/pydata/pandas/milestones/28/labels'
    resp = requests.get(url)
    print 'resp:=\n', resp
    data = json.loads(resp.text)
    issus_labels = pd.DataFrame(data)
    print 'issus_labels:=\n', issus_labels
    展开全文
  • python获取接口数据,写入文件

    千次阅读 2017-10-16 14:28:44
    python获取接口数据,写入文件以下是代码...import jsonduan =”————————–” #在控制台断行区别的利用urllib2获取网络数据def registerUrl(): try: url =”http://m.weather.com.cn/data/101010100.html”

    python获取接口数据,写入文件

    以下是代码:

    import types
    import urllib2
    import json
    
    
    duan ="--------------------------"  #在控制台断行区别的
    
    ###利用urllib2获取网络数据
    def registerUrl():
        try:
            url ="http://m.weather.com.cn/data/101010100.html"
            data = urllib2.urlopen(url).read()
            return data
        except Exception,e:
            print e
    
    ###写入文件
    def jsonFile(fileData):
        file = open("d:\json.txt","w")
        file.write(fileData)
        file.close()
    
    ###解析从网络上获取的JSON数据  
    def praserJsonFile(jsonData):
        value = json.loads(jsonData)
        rootlist = value.keys()
        print rootlist
        print duan
        for rootkey in rootlist:
            print rootkey
        print duan
        subvalue = value[rootkey]
        print subvalue
        print duan
        for subkey in subvalue:
            print subkey,subvalue[subkey]
    
    if ____name____ == "____main____":
        # xinput = raw_input()
        # x = 130
        # xvalue = cmp(x,xinput)
        # print xvalue
        # print x/100.0
    
        data = registerUrl()
        # jsonFile(data)
    
        praserJsonFile(data)

    来源:http://www.cnblogs.com/0x03/p/7335305.html

    展开全文
  • Python3 urllib(网络数据获取 模块)

    万次阅读 2017-04-10 02:22:00
    Python3 urllib(网络数据获取 模块) 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog.csdn.net/Rozol/article/details/69941511 以下代码以Python3.6.1为例 Less is more! #coding=utf-8 ...

    Python3 urllib(网络数据获取 模块)


    本文由 Luzhuo 编写,转发请保留该信息.
    原文: http://blog.csdn.net/Rozol/article/details/69941511


    以下代码以Python3.6.1为例
    Less is more!

    #coding=utf-8
    # urllibdemo.py urllib演示
    
    # urllib 用于处理Url相关的工具,用于从网络获取数据(网页源码/下载资源)
    from urllib import request # 请求url, 支持 HTTP(0.9/1.0) / FTP / 本地文件 / URL
    from urllib import parse # 解析url, 支持 file / ftp / gopher / hdl / http / https / imap / mailto / mms / news / nntp / prospero / rsync / rtsp / rtspu / sftp / shttp / sip / sips / snews / svn / svn+ssh / telnet / wais
    from urllib import robotparser # 分析 robots.txt 文件
    from urllib import error # 异常
    import re # 正则模块
    from bs4 import BeautifulSoup
    import os
    
    # 演示(下载斗鱼首页的图片)
    def demo():
        os.mkdir("images")
    
        # -- 获取网页源代码 --
        f = request.urlopen("https://www.douyu.com")
        data = f.read().decode("utf-8")
    
        # -- 获取网页源码中的图片地址 --
        # 方式一: 正则的方式
        images = re.findall(r'src="(.*?\.(jpg|png))"', data)
        tnum = 0
        for i in images:
            # 下载资源
            request.urlretrieve(i[0], "./images/%d.%s"%(tnum, i[1]))
            tnum += 1
    
        # 方式二: Beautiful Soup (安装: pip install beautifulsoup4) 提取html/xml标签中的内容
        soup = BeautifulSoup(data, "html.parser")
        images = soup.find_all("img") # 取标签
    
        tnum = 0
        for i in images:
            # 下载资源
            imgurl = i.get("src")
            if len(imgurl) > 3:
                request.urlretrieve(imgurl, "./images/%d.jpg"%tnum)
            tnum += 1
    
        # -- 关闭 --
        f.close
    
    
    
    # 参数详解
    def fun():
        neturl = "http://luzhuo.me/blog/Base1.html"
        imgurl = "http://luzhuo.me/image/performers/%E5%85%B3%E6%99%93%E5%BD%A4.jpg"
    
    
    
        # --- urllib.parse --- 解析Url
        # - 编码 -
        neturl = "%s?%s" %(neturl, parse.urlencode({"name":"luzhuo", "age": 21})) # Get传参url构建
        data = parse.urlencode({"name":"luzhuo", "啊age": 21}).encode('ascii') # POST参参data构建
    
        # - 解码 -
        urls = parse.urlparse(imgurl) # => ParseResult(scheme='http', netloc='luzhuo.me', path='/image/performers/%E5%85%B3%E6%99%93%E5%BD%A4.jpg', params='', query='', fragment=''
        urls = parse.urlparse("//luzhuo.me/image/performers/%E5%85%B3%E6%99%93%E5%BD%A4.jpg?a=1")
        scheme = urls.scheme # 获取相应数据
    
        # - 替换 -
        url = parse.urljoin('http://luzhuo.me/blog/Base1.html', 'Fame.html') # 替换后部分 => http://luzhuo.me/blog/Fame.html
        url = parse.urljoin('http://luzhuo.me/blog/Base1.htm', '//xxx/blog') # => http://xxx/blog
    
    
    
        # --- urllib.reques --- 请求数据
        try:
            # - Request - 构建
            req = request.Request(neturl) # GET
            req = request.Request(neturl, headers = {"1":"2"}) # 添加请求头
            req = request.Request(neturl, data=b'This is some datas.') # POST 添加POST请求数据
            req = request.Request(neturl, data) # POST 添加POST请求数据
            req = request.Request(neturl, data=b"This is some datas.", method="PUT") # PUT 其他类型的请求
    
            # 获取
            url = req.full_url # 获取Url
            reqtype = req.type # 请求类型(如http)
            host = req.host # 主机名(如:luzhuo.me / luzhuo.me:8080)
            host = req.origin_req_host # 主机名(如:luzhuo.me)
            url = req.selector # url路径(如:/blog/Base1.html)
            data = req.data # 请求的实体,没有为Noce
            boolean = req.unverifiable # 是否是RFC 2965定义的不可验证的
            method = req.get_method() # 请求方式(如:GET / POST)
            # 修改
            req.add_header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36") # 添加请求头,键冲突将覆盖
            req.add_unredirected_header("Key", "value") # 添加不会重定向的请求头
            req.remove_header("Key") # 删除请求头
            req.get_header("Key") # 获取请求头, 无返回None
            req.get_header("Key", "None.") # 获取请求头
            boolean = req.has_header("Key") # 是否有该请求头
            headers = req.header_items() # (所有)请求头列表
            req.set_proxy("220.194.55.160:3128", "http") # 设置代理(主机,类型)
            # 下载
            filename, headers = request.urlretrieve(imgurl) # 下载资源(不提供文件名不复制), 返回(文件名,头信息)元组
            filename, headers = request.urlretrieve(imgurl, filename="./xxx.jpg", reporthook=callback, data=None) # reporthook下载进度回调
            request.urlcleanup() # 清除下载的临时文件
    
    
    
            # - response - 请求结果
            res = request.urlopen(neturl) # GET 打开Url,返回response
            res = request.urlopen(neturl, data=b'This is some datas.') # POST 添加POST请求数据
            res = request.urlopen(req) # 支持 Request 参数
            # 获取信息
            data = res.read().decode("utf-8") # 读取全部数据
            data = res.readline().decode("utf-8") # 读取行数据
            url = res.geturl() # 获取Url
            info = res.info() # 元信息,如头信息
            code = res.getcode() # 状态码
    
            # 释放资源
            res.close
    
    
    
        # --- urllib.error ---
        except error.URLError as e:
            print(e)
        except error.HTTPError as e:
            # code / reason / headers 异常
            print(e)
        except error.ContentTooShortError as e:
            # 数据下载异常
            print(e)
    
    
    
    def robot():
        # --- urllib.robotparser --- robots.txt
        rp = robotparser.RobotFileParser()
        rp.set_url("https://www.zhihu.com/robots.txt") # 设置指向 robots.txt 文件的网址
        rp.read() # 获取数据给解析器
        boolean = rp.can_fetch("*", "http://www.musi-cal.com/") # 是否允许提取该url
        time = rp.mtime() # 获取 robots.txt 的时间
        rp.modified() # 将 robots.txt 时间设为当前时间
    
    
    
    # 下载进度回调
    def callback(datanum, datasize, filesize): # (数据块数量 数据块大小 文件大小)
        down = 100 * datanum * datasize / filesize
    
        if down > 100:
            down = 100
    
        print ("%.2f%%"%down)
    
    
    
    import ssl
    
    # 访问https时, 未经过ssl证书验证的网页
    # [SSL: CERTIFICATE_VERIFY_FAILED]
    def https():
        url = 'https://www.12306.cn'
    
        # 忽略未经核实的ssl证书验证
        context = ssl._create_unverified_context()
    
        req = request.Request(url)
        res = request.urlopen(req, context=context)
        data = res.read().decode("utf-8")
        print(data)
    
    
    
    # Handler 处理器的使用
    def handler():
        url = 'http://www.baidu.com'
        # url = 'https://www.12306.cn'
    
        # --- 几个常用的Handler ---
        # 支持处理 HTTP URL 的Handler
        handler = request.HTTPHandler()  # debuglevel=1 打开调试信息, 自动输出调试信息
    
    
        # 支持处理 HTTPS URL 的Handler
        context = ssl._create_unverified_context()  # 忽略未经核实的ssl证书验证
        handler = request.HTTPSHandler(context=context)
    
    
        # 支持代理的Handler
        proxy = {
            "http": "113.221.47.13:39249",  # 免费代理
            # "http": "账号:密码@183.56.177.130:808",  # 授权代理
        }
        handler = request.ProxyHandler(proxy)
    
    
        # 存放cookie的HTTPCookieProcessor对象
        handler = request.HTTPCookieProcessor()
    
    
        # HTTP 身份验证的Handler
        passwordMgr = request.HTTPPasswordMgrWithDefaultRealm()  # 保存 账号密码 映射的管理类
        passwordMgr.add_password(None, '192.168.0.1', 'user', 'password')  # 添加账户密码,
        handler = request.HTTPBasicAuthHandler(passwordMgr)
    
    
        # 代理身份验证的Handler
        handler = request.ProxyBasicAuthHandler(passwordMgr)  # 与`request.ProxyHandler(proxy)`效果相同
    
    
    
        # 构建自定义的opener
        opener = request.build_opener(handler)  # 支持添加多个handler
        req = request.Request(url)
        res = opener.open(req)
    
        print(res.read().decode("utf-8"))
    
    
    
    # opener 的三种不同的请求方式(每种方式都有自己的使用场景)
    def opener():
        url = 'https://www.douyu.com'
    
        # 方式一: 一般的使用方式
        res = request.urlopen(url)
    
    
        # 方式二: 通过自定义 opener 的方式
        handler = request.HTTPHandler()
        opener = request.build_opener(handler)
        req = request.Request(url)
        res = opener.open(req)
    
    
        # 方式三: 将opener设为全局使用, 之后所有的请求可通过urlopen()方法直接发送
        request.install_opener(opener)
        res = request.urlopen(url)
    
        print(res.read().decode("utf-8"))
    
    
    if __name__ == "__main__":
        demo()
        fun()
        robot()
        https()
        handler()
        opener()
    
    展开全文
  • python网络数据收集

    千次阅读 2018-07-04 09:39:24
    生活中任何人都无法摆脱数据的时代。要想获得更多的数据,最有效的方法就是从...一、 环境准备(1) python运行环境(2) html解析器(Beautiful Soup)二、 数据采集(1) 获取网页代码 urllib 模块提供了读取web...

    生活中任何人都无法摆脱数据的时代要想获得更多的数据最有效的方法就是从网络收集Python在收集数据方面无疑是一门很好的语言。网络上python爬虫框架有众多,大家有兴趣可以去学习一下,在这就简单介绍下如何使用python写爬虫。


    一、 环境准备

    (1) python运行环境

    (2) html解析器Beautiful Soup


    二、 数据采集

    (1) 获取网页代码

     


    urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取wwwftp数据

    Urllib.urlopen() 用于打开url地址

    read()方法用于url上的数据


    (2) 筛选页面数据

    筛选数据的方法有很多种正则Beautiful Soup等。

    在这我们使用beautiful soup对页面数据筛选


    ü 安装解析器

    Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,其中一个是 lxml 根据操作系统不同,可以选择下列方法来安装lxml:

    $ apt-get install Python-lxml

    $ easy_install lxml

    $ pip install lxml


    另一个可供选择的解析器是纯Python实现的 html5lib , html5lib的解析方式与浏览器相同,可以选择下列方法来安装html5lib:

    $ apt-get install Python-html5lib

    $ easy_install html5lib

    $ pip install html5lib


    ü 解析器优缺点



    ü 筛选数据

     

    如上使用beautiful soup解析网页获取网页的标题,更多beautiful soup说明请看官方文档:https://www.crummy.com/software/BeautifulSoup/bs3/documentation.zh.html


    想知道如何反爬跳过登录抓取数据请持续关注文章~~



    展开全文
  • 利用Python读取网络数据文件

    万次阅读 2018-01-30 21:07:28
    在实践机器学习算法过程中,有的数据源可以通过网络获取。于是,想利用Python代码直接加载到程序中,省去下载的操作。一方面是可能是由于懒,另一方面还可以秀一下“肌肉”,哈哈哈 … 作为一名实在的假“程序猿”,...
  • 使用python获取股票历史数据和实时分笔数据
  • Python 获取股市交易数据

    千次阅读 2020-04-13 11:09:47
    而我们的大盘最近也不消停,不过这也给大家抄底制造了机会,但机会都是给有准备的人,想要抓住机会就得懂得分析数据,想要分析数据还得先拿到交易数据,今天就来说说用 Python 如何获取股市交易数据。 TuShare 工具 ...
  • Python网络数据获取(metplotlib/pandas)

    千次阅读 2016-05-06 23:43:28
    Ubuntu安装matplotlib/pandas ``` sudo apt-get install python-matplotlib sudo apt-get install python-...获取雅虎财经网的可口可乐公司上一个的股票基本情况,包括日期/开盘价/收盘价/最高价/最低价和成交量。
  • Python网络图片爬虫—神经网络训练数据获取方法最近因为要训练个灰度图转彩色图的神经网络,迫于数据的稀有性,就自学了python网络爬虫,并成功获取高质量10000张图片,在此和大家分享下自己的收获。爬了百度图库的...
  • 用于练手的例子,从国家气象局接口上获取JSON数据,将它写入文件中,并解析JSON; 总的来说,在代码量上,python代码量要比java少很多。而且python看起来更直观一些; 以下是代码: import types import urllib...
  • Python_简单网络爬虫获取网页数据

    千次阅读 2018-10-14 14:38:35
    写了一个简单的网络爬虫,用于获取智联招聘上一线及新一线城市所有与BIM相关的工作信息以便做一些数据分析。 首先通过chrome在智联招聘上搜索BIM的职位,跳出页面后ctrl+u查看网页源代码,然而并没有找到当前页面的...
  • Python爬取丁香园疫情数据并解析json数据 在利用pyecharts V1.x版本,使用Map对象进行制图时,对数据格式的要求比较高,如果数据格式不正确可能达不到我们预期的效果。在我的前一篇文章中介绍了如何利用丁香园疫情...
  • from bs4 import BeautifulSoup from urllib.request import urlopen html = urlopen("http://www.baidu.com/") text = BeautifulSoup...print(text)   《Python网络数据采集》原书上第四段代码写的是Beauti
  • python获取A股基础数据

    千次阅读 2018-03-03 11:45:31
    从网易网站上面获取A股数据的jic
  • 使用Python快速获取哥白尼数据开放访问中心购物车里的数据下载链接
  • Python爬虫精简步骤 获取数据

    万次阅读 多人点赞 2020-02-14 19:56:34
    爬虫,从本质上来说,就是利用程序在网上拿到对我们有价值的数据。 爬虫能做很多事,能做商业分析,也能做生活助手,比如:分析北京近两年二手房成交均价是多少?广州的Python工程师平均薪资是多少?北京哪家餐厅...
  • 很多时候,程序并不能直接展示本地文件中的数据,此时需要程序读取网络数据,并展示它们。 比如前面介绍的 http://lishi.tianqi.com 站点的数据,它并未提供下载数据的链接(前面程序所展示的 csv 文件本身就是使用...
  • Python3网络爬虫快速入门实战解析

    万次阅读 多人点赞 2017-09-28 14:48:41
    请在电脑的陪同下,阅读本文。本文以实战为主,阅读过程...本文的实战内容有:网络小说下载(静态网站)、优美壁纸下载(动态网站)、爱奇艺VIP视频下载 PS:本文为Gitchat线上分享文章,该文章发布时间为2017年09月19日。
  • 项目介绍 看到标题大家的第一反应...Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的...
  • python实现网络爬虫21】天眼查企业数据获取

    千次阅读 多人点赞 2020-09-15 14:34:25
    天眼查企业数据获取1. 目标网址及爬取要求2. 网页过渡3. 具体数据获取4. 扩展及全部代码 1. 目标网址及爬取要求 根据搜索进行相应公司具体信息数据的爬取,第一步是进入天眼查的官网,然后输入公司的名称,然后在...
  • Python爬取网页数据

    万次阅读 多人点赞 2018-08-29 17:20:35
    都说python爬网页数据方便,我们今天就来试试,python爬取数据到底有多方便 简介 爬取数据,基本都是通过网页的URL得到这个网页的源代码,根据源代码筛选出需要的信息 准备 IDE:pyCharm 库:requests、...
  • 使用python获取系统网络信息

    千次阅读 2017-04-13 00:27:33
    psutil模块确实是运维工作中比较有用的模块,除了获取系统的硬件信息之外还能够获取网络信息。 简单的测试如下: In [8]: psutil.net_io_counters() Out[8]: snetio(bytes_sent=40186207L, bytes_recv=...
  • 本文使用python,结合beautifulsoup,chardet,通过解析网页的方式,使用中国站长的接口,获取whois信息。
  • 根据相关政策规定,国内比特币交易将于2017年9月底关闭,但这几年里,比特币交易的历史行情数据,可能对日后用于研究经济、金融以及量化交易策略等都有重大的价值...利用 Python 获取 okcoin.cn 比特币历史数据 利用 Py
  • 基于 Python网络爬虫:获取异步加载的数据

    千次阅读 多人点赞 2020-03-25 20:25:45
        从重庆市政府采购网自动获取指定日期、指定数量的采购公告信息,将其项目名称和分包内容通过可读的方式展示。 2. 实现过程 分析页面布局 爬取当前 HTML 所有二级链接信息 (1)首先,展示第一次爬取...
  • 使用python抓取App数据

    万次阅读 多人点赞 2018-07-24 12:50:37
    App中的数据可以用网络爬虫抓取么 答案是完全肯定的:凡是可以看到的APP数据都可以抓取。 下面我就介绍下自己的学习经验和一些方法吧 本篇适合有过web爬虫基础的程序猿看 没有的的话学的可能会吃力一些 App接口...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 185,826
精华内容 74,330
关键字:

python获取网络数据

python 订阅