#!/usr/bin/python
# -*- coding: UTF-8 -*-
import re
import sys
import time
import urllib
import urllib.request
from datetime import datetime

def get_html(url):
    try:
        request = urllib.request.Request(url)
        WebPageContent = urllib.request.urlopen(request)
        return WebPageContent.read().decode('UTF-8')
    except urllib.error.HTTPError as e:
        print(e)
        return "Error"

def cbk(a, b, c):
    #显示当前下载进度
    persent = 100.00 * a * b / c
    if persent > 100:
        persent = 100
    sys.stdout.write("{0} %\r".format(round(persent,2)))
    sys.stdout.flush()
    
def get_image(WebPageContent, re_rule, output_path):
    image = re.compile(re_rule)
    image_url_list = re.findall(image, WebPageContent)
    for part_url in image_url_list:
        image_url = "%s%s.jpg" % ("http://www.chinagrain.gov.cn/", part_url)
    print(image_url)
    try:
        urllib.request.urlretrieve(url=image_url, filename=output_path, reporthook=cbk)
    except IsADirectoryError as e:
        print(e)
    
    

if __name__ == '__main__':
    #__init__
    url = "http://www.chinagrain.gov.cn/n787423/c1163380/content.html"
    re_rule = r'src="../../(.+?).jpg"'
    output_path = ""
    
    starttime = datetime.now()
    WebPageContent = get_html(url=url)
    #print(WebPageContent)
    get_image(WebPageContent=WebPageContent, re_rule=re_rule, output_path=output_path)
    endtime = datetime.now()
    print("Runtime is: %s s" % (endtime-starttime).seconds)

python 爬取国家粮食局东北地区玉米收购价格监测信息的更多相关文章

  1. Python爬取网址中多个页面的信息

    通过上一篇博客了解到爬取数据的操作,但对于存在多个页面的网址来说,使用上一篇博客中的代码爬取下来的资料并不完整.接下来就是讲解该如何爬取之后的页面信息. 一.审查元素 鼠标移至页码处右键,选择检查元素 ...

  2. Python 爬取 北京市政府首都之窗信件列表-[信息展示]

    日期:2020.01.25 博客期:133 星期六 [代码说明,如果要使用此页代码,必须在本博客页面评论区给予说明] //博客总体说明 1.准备工作 2.爬取工作 3.数据处理 4.信息展示(本期博客 ...

  3. 利用Python爬取豆瓣电影

    目标:使用Python爬取豆瓣电影并保存MongoDB数据库中 我们先来看一下通过浏览器的方式来筛选某些特定的电影: 我们把URL来复制出来分析分析: https://movie.douban.com ...

  4. 告诉你那里最受欢迎,python爬取全国13个城市旅游数据

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...

  5. Python爬取跑男的评论,看看大家都在看谁吧

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于菜J学Python,作者: J哥 Python爬取爬取腾讯视频弹幕视频讲解 http ...

  6. 毕设之Python爬取天气数据及可视化分析

    写在前面的一些P话:(https://jq.qq.com/?_wv=1027&k=RFkfeU8j) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向. ...

  7. Python 爬取所有51VOA网站的Learn a words文本及mp3音频

    Python 爬取所有51VOA网站的Learn a words文本及mp3音频 #!/usr/bin/env python # -*- coding: utf-8 -*- #Python 爬取所有5 ...

  8. python爬取网站数据

    开学前接了一个任务,内容是从网上爬取特定属性的数据.正好之前学了python,练练手. 编码问题 因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这个机会算是彻底搞清楚了. 问题要从文字的编码讲 ...

  9. python爬取某个网页的图片-如百度贴吧

    python爬取某个网页的图片-如百度贴吧 作者:vpoet mail:vpoet_sir@163.com 注:随意copy,不用告诉我 #coding:utf-8 import urllib imp ...

随机推荐

  1. hdu 1520 Anniversary party(入门树形DP)

    Anniversary party Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6926   Accepted: 3985 ...

  2. FPM定制RPM包实践

    1.1 快速部署方案 ✔ 问题:当领导给你 100 台已经安装好系统的服务器,然后让优化,让你提出一个快速部署方案. 解答: 1.tar 打包 先编译安装 打包-->分发-->解包(比如 ...

  3. 在jsp提交表单的参数封装到一个方法里

    建议去看一下孤傲苍狼写的Servlet+JSP+JavaBean开发模式(http://www.cnblogs.com/xdp-gacl/p/3902537.html), 最好把他JavaWeb学习总 ...

  4. Python丨Python 性能分析大全

    虽然运行速度慢是 Python 与生俱来的特点,大多数时候我们用 Python 就意味着放弃对性能的追求.但是,就算是用纯 Python 完成同一个任务,老手写出来的代码可能会比菜鸟写的代码块几倍,甚 ...

  5. java实现网络爬虫

    import java.io.IOException;   import java.util.HashSet;   import java.util.Set;   import java.util.r ...

  6. C#的XML文件的读取与写入

    在设计程序的时候,对于一些变化性较强的数据,可以保存在XML文件中,以方便用户修改.尤其是对于一些软硬件的配置文件,很多都选择了用XML文件来存取.XML文件简单易用,而且可以在任何应用程序中读写数据 ...

  7. [转载] Java并发编程:Lock

    转载自http://www.cnblogs.com/dolphin0520/p/3923167.html 以下是本文目录大纲: 一.synchronized的缺陷 二.java.util.concur ...

  8. How To Use Linux epoll with Python

    http://scotdoyle.com/python-epoll-howto.html Line 1: The select module contains the epoll functional ...

  9. Python的egg包

    1.背景 查看flower的源码,首先看到flower的主程序如下: #!/usr/local/sinasrv2/bin/python2.7 # EASY-INSTALL-ENTRY-SCRIPT: ...

  10. [转]我在面试.NET/C#程序员时会提出的问题

    http://blog.zhaojie.me/2011/03/my-interview-questions-for-dotnet-programmers.html 说起来我也面试过相当数量的.NET( ...