您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Python通过解析网页实现看报程序的方法

2024/3/20 14:39:28发布28次查看
本文所述实例可以实现基于python的查看图片报纸《参考消息》并将当天的图片报纸自动下载到本地供查看的功能,具体实现代码如下:
# coding=gbkimport urllib2import socketimport reimport timeimport os# timeout in seconds#timeout = 10#socket.setdefaulttimeout(timeout)timeout = 10urllib2.socket.setdefaulttimeout(timeout)home_url = http://www.hqck.nethome_page = try: home_page_context = urllib2.urlopen(home_url) home_page = home_page_context.read() print read home page finishd. print -------------------------------------------------except urllib2.urlerror,e: print e.code exit()except: print e.code exit()reg_str = r'.+'news_url_reg = re.compile(reg_str)today_cankao_news = news_url_reg.findall(home_page)if len(today_cankao_news) == 0: print cannot find today's news! exit()my_news = today_cankao_news[0]print latest news link = + my_newsprinturl_s = my_news.find(/arc/)url_e = my_news.find(.html)url_e = url_e + 5print link index = [ + str(url_s) + , + str(url_e) + ]my_news = my_news[url_s:url_e]print part url = + my_newsfull_news_url = home_url + my_newsprint full url = + full_news_urlprintimage_folder = e:\\new_folder\\if (os.path.exists(image_folder) == false): os.makedirs(image_folder)today_num = time.strftime('%y-%m-%d',time.localtime(time.time()))image_folder = image_folder + today_num + \\if (os.path.exists(image_folder) == false): os.makedirs(image_folder)print news image folder = + image_folderprintcontext_uri = full_news_url[0:-5]first_page_url = context_uri + .htmltry: first_page_context = urllib2.urlopen(first_page_url) first_page = first_page_context.read()except urllib2.httperror, e: print e.code exit()tot_page_index = first_page.find(共)tot_page_index = tot_page_indextmp_str = first_page[tot_page_index:tot_page_index+10]end_s = tmp_str.find(页)page_num = tmp_str[2:end_s]print page_numpage_count = int(page_num)print total + page_num + pages:printpage_index = 1download_suc = truewhile page_index 1: page_url = page_url + _ + str(page_index) page_url = page_url + .html print news page link = + page_url try: news_img_page_context = urllib2.urlopen(page_url) except urllib2.urlerror,e: print e.reason download_suc = false break news_img_page = news_img_page_context.read() #f = open(e:\\page.html, w) #f.write(news_img_page) #f.close() reg_str = r'http://image\s+jpg' image_reg = re.compile(reg_str) image_results = image_reg.findall(news_img_page) if len(image_results) == 0: print cannot find news page + str(page_index) + ! download_suc = false break image_url = image_results[0] print news image url = + image_url news_image_context = urllib2.urlopen(image_url) image_name = image_folder + page_ + str(page_index) + .jpg imgf = open(image_name, 'wb') print getting image... try: while true: date = news_image_context.read(1024*10) if not date: break imgf.write(date) imgf.close() except: download_suc = false print save image + str(page_index) + failed! print unexpected error: + sys.exc_info()[0] + sys.exc_info()[1] else: print save image + str(page_index) + succeed! print page_index = page_index + 1if download_suc == true: print news download succeed! path = \ + str(image_folder) + \ print enjoy it! ^^else: print news download failed!
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product