`
knight_black_bob
  • 浏览: 853428 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python3.5 beautiful4.4 扣扣国内新闻 爬虫

阅读更多

 

 



 

 

  

 

#!/usr/bin/python3
# -*- coding: UTF-8 -*- 
'''
Created on 2016年11月18日

@author:  baoyou curiousby@163.com
'''

 
   
#http://ssdfz001.iteye.com/blog/2228685  
   
import  urllib.request
import urllib.parse
import os, sys 
import codecs 
import bs4 
from bs4 import BeautifulSoup  
import re
import urllib.request, urllib.parse, http.cookiejar 

     
#跟网址 http://news.qq.com/c/816guonei_1.htm  
base_url='http://news.qq.com/'
url='http://news.qq.com/c/816guonei_1.htm'  
#存储路径  
save_path='C:/Users/cmcc-B100036/Desktop/'  
save_img='img'  
save_txt='text'  
#抽取正则  
reg = '<a target=\"_blank\" class=\"pic\" href=\"([^\"]*)\"><img class=\"picto\" src=\"([^\"]*)\"></a><em class=\"f14 l24\"><a target=\"_blank\" class=\"linkto\" href=\"[^\"]*\">([^</a>]*)</a></em><p class=\"l22\">([^</p>]*)</p>'  
#request消息头  
heads = {   
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',  
'Accept-Encoding':'gzip, deflate, sdch',  
'Accept-Language':'zh-CN,zh;q=0.8',  
'Cache-Control':'max-age=0',  
'Host':'news.qq.com',  
'Proxy-Connection':'keep-alive',  
'Upgrade-Insecure-Requests':'1',  
'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36'  
}  
  
#获取网页信息  
def getHtml(url):  
    fp = urllib.request.urlopen(url)
    bytes = fp.read()
    respAllHtml = bytes.decode('gbk')
    fp.close();
    #print('---- respAllHtml----',respAllHtml);
    return respAllHtml;  
  
#获取新闻列表  
def getList(url):   
    respHtml = getHtml(url);
    #print('---- respHtml----',respHtml);
    soup = BeautifulSoup(respHtml ,'html.parser');  
    list = soup.find_all('div',class_='Q-tpList');
#    print('-----------list .len------------',len(list));
    contents=[]   
    for x in list:  
        contents.append(x)  
    return contents  
#获取文本信息到本地  
def loadText(contents):  
    for content in contents :  
        load(content)  
#下载资源  
def load(content):   
#    print(content.prettify());  
#    
#    print(content.find('a',class_='pic'))
#    print(content.find('a',class_='pic')['href'])
#    print(content.find('a',class_='pic').img)
#    print(content.find('a',class_='pic').img['src'])
#    print( content.find('a',class_='linkto'))
#    print( content.find('a',class_='linkto').get_text())
#    print(content.find('p')) 
    urlsuffix=content.find('a',class_='pic')['href'];
    detailurl=base_url + urlsuffix; 
    detailimg= content.find('a',class_='pic').img['src'];   
    detailtitle = content.find('a',class_='linkto').get_text();   
    detailcontent = content.find('p').get_text();
    
    save_path='C:/Users/cmcc-B100036/Desktop/'
    save_path   =  save_path+urlsuffix.replace(".htm","");  
    if not os.path.exists(save_path):  
        os.makedirs( save_path, 0o755 );   
    newstext = save_path+'/%s'%save_txt  
    newsimg= save_path+'/%s'%save_img  
    if not os.path.exists(newstext):  
        os.makedirs( newstext, 0o755 );  
    if not os.path.exists(newsimg):  
        os.makedirs( newsimg, 0o755 );     
    urllib.request.urlretrieve(detailimg,newsimg+"/img.png"  );
    with codecs.open(newstext+"/text.txt",'w+','utf-8') as fp:  
        fp.write(detailurl+'\t'+detailimg+'\t'+detailtitle+'\t'+detailcontent)    
    #print ('------------------------------------------------------------ end one news')   
        
if __name__=="__main__":  
#     url=raw_input("""输入目标网址\n       按回车键结束\n""")  
    print ('---------------------start--------------------------------------')
    url='http://news.qq.com/c/816guonei_1.htm'; 
    contents = getList(url);
    loadText(contents);
    print ('---------------------end---------------------------------------') 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

 

  • 大小: 227.1 KB
  • 大小: 19.5 KB
1
0
分享到:
评论

相关推荐

    Python3.5安装包及Pygame模块

    Python3.5是Python编程语言的一个重要版本,它在2015年发布,并在2020年结束了主要的支持。这个版本引入了许多新的特性和改进,使得它成为开发者广泛采用的版本之一。以下是关于Python3.5及其相关知识点的详细讲解:...

    python3.5从零开始学电子书

    python3.5从零开始学是专门针对Python新手量身设计,涵盖了Python 3.5 实际开发的重要知识点。内容包括:Python语言的类型和对象、操作符和表达式、编程结构和控制流、函数、序列、多线程、正则表达式、面向对象编程...

    python3.5简化版教程

    Python3.5作为Python的一个版本,继承了Python的诸多优点,并在此基础上进行了一些改进。 Python3.5的安装过程较为简单,适合零基础的编程入门者。首先,Python的标准安装程序支持多种操作系统,包括GNU/Linux、...

    python3.5-64位官方安装版下载

    "Python3.5-64位官方安装版下载"标题表明这是一个针对Windows操作系统、适用于64位处理器的Python 3.5安装包。 描述中提到的"python3.5-64位官方安装包(Windows版本)下载,欢迎大家下载。"意味着这个压缩包包含了...

    Python3.5从零开始学.pdf

    标题《Python3.5从零开始学.pdf》和描述《新版本Python3.5基础教程,从零入门必备,新书》中蕴含的知识点主要包括以下几个方面: 1. Python语言概述:Python是一种广泛使用的高级编程语言,以其简洁明了的语法和...

    Python3.5从零开始学

    Python3.5是Python编程语言的一个重要版本,它在2015年发布,引入了许多新特性和改进,为开发者提供了更强大、更高效的工具。本教程“Python3.5从零开始学”旨在帮助初学者掌握Python 3.5的基础和进阶知识,为实际...

    python3.5版本32位(3.5.2和3.5.4)帮助有需要的人

    在提供的压缩包`python3.5(3.5.2+3.5.4)`中,用户可以找到Python 3.5的两个具体版本:3.5.2和3.5.4。这两个版本都是32位的,旨在解决与32位DLL不兼容的问题。3.5.2是基础版本,而3.5.4是后续的维护版本,修复了...

    Python3.5高级拓展篇.zip

    1.Python3.5 openstack云计算专题 10课 Python3.5-01.云计算介绍.avi Python3.5-02.openstack组件介绍.avi Python3.5-03.keystone介绍.avi Python3.5-04.openstack组件通信流程.avi Python3.5-05.虚拟化介绍....

    Win-Caffe:Visual Studio 2015, CPU only, Python 3.5

    标题 "Win-Caffe:Visual Studio 2015, CPU only, Python 3.5" 指的是一个针对Windows平台的Caffe构建,它专为使用Visual Studio 2015开发环境、仅支持CPU运算且集成了Python 3.5接口的版本。这个版本的Caffe可能是由...

    pandas(python3.5)-win7_amd64.whl 压缩包

    配置python3.5环境用,亲测可用,系统是win7 64位的,用于实现yolo v3检测环境配置

    适用于Python3.5版本的编译好的dlib文件

    针对Python3.5版本的dlib预编译`.whl`文件,意味着它已经针对这个特定的Python版本进行了优化和测试。使用这个文件可以确保dlib与Python3.5的兼容性,避免了因版本不匹配可能导致的错误。为了安装这个预编译的dlib,...

    Python3.5Django实战篇视频.zip

    1.Python3.5 DjangoWeb开发框架 18课 2 Python3.5 Django的ORM映射机制20课.rar 3.Python3,5 Django数据库实战15课,rar 4,Python3.5 Django分页与Cookie19课.rar 5.Python3,5 Django会话与表单验证21课rar 6,Python...

    Python 3.5从零开始学 刘宇宙 清晰版 非扫描版

    《Python 3.5从零开始学》是刘宇宙撰写的一本面向初学者的Python编程教程,由清华大学出版社于2019年8月出版。这本书以非扫描、高清晰度的形式提供,确保读者在学习过程中能获得优质的阅读体验。 Python 3.5是...

    《Python 3.5从零开始学》刘宇宙 mobi

    《Python 3.5从零开始学》专门针对Python新手量身定做,涵盖了Python 3 实际开发的重要知识点,内容包括:Python语言的类型和对象、操作符和表达式、编程结构和控制流、函数、序列、多线程、正则表达式、面向对象...

    Python 3.5从零开始学 刘宇宙 扫描版 pdf

    《Python 3.5从零开始学》是刘宇宙撰写的一本面向初学者的Python编程教程,由清华大学出版社于2019年8月出版。这本书以清晰易懂的语言,全面介绍了Python 3.5的基础知识和核心概念,旨在帮助没有编程背景的读者快速...

    caffe编译python3.5需要的boost库

    1. **Boost与Python 3.5集成**:在编译Caffe以支持Python 3.5时,首先需要确保你已经安装了Python 3.5以及其开发头文件(通常包含在`python3.5-dev`或类似包中)。接下来,你需要下载并编译Boost库,确保在编译时...

    Anaconda3支持python3.5

    ### Anaconda3支持Python3.5 #### 一、Anaconda3简介 Anaconda是由Continuum Analytics开发的一款开源数据科学平台。它集成了Python或R语言环境,为数据科学家提供了数百个科学包及其依赖项。Anaconda的强大之处...

    python3.5 pytorch-cpu-1.1.0和torchvision-cpu.zip

    Python3.5、PyTorch-CPU 1.1.0 和 torchvision-CPU 是深度学习领域中的关键组件,尤其对于那些没有GPU资源或者只需要在CPU上运行计算的开发者来说至关重要。PyTorch是一个开源的机器学习框架,由Facebook的AI研究...

    python3.5安装包

    python3.5

    python3.5windows 64位

    软件测试python语言,版本3.5,python安装包,win64bit版本The binaries for AMD64 will also work on processors that implement the Intel 64 architecture. (Also known as the "x64" architecture, and formerly...

Global site tag (gtag.js) - Google Analytics