全栈工程师开发手册 (作者:栾鹏)

python教程全解

各RSS网站参考http://blog.csdn.net/luanpeng825485697/article/details/78737510

今天我们使用python3.6来爬去百度新闻RSS中的数据,有了数据集,这样可以对样本数据集进行分类、聚类、推荐算法的学习

调试环境python3.6

# 获取百度新闻数据集
import urllib
import re
from bs4 import BeautifulSoup
import json
import iofeedlist=['http://news.baidu.com/n?cmd=1&class=civilnews&tn=rss&sub=0',  #国内焦点'http://news.baidu.com/n?cmd=1&class=shizheng&tn=rss&sub=0',   #时政焦点'http://news.baidu.com/n?cmd=1&class=gangaotai&tn=rss&sub=0',   #港澳台焦点'http://news.baidu.com/n?cmd=1&class=internews&tn=rss&sub=0',  #国际焦点'http://news.baidu.com/n?cmd=1&class=mil&tn=rss&sub=0',  #军事焦点'http://news.baidu.com/n?cmd=1&class=hqsy&tn=rss&sub=0',  #环球视野焦点'http://news.baidu.com/n?cmd=1&class=finannews&tn=rss&sub=0',  #财经焦点'http://news.baidu.com/n?cmd=1&class=stock&tn=rss&sub=0',  #股票焦点'http://news.baidu.com/n?cmd=1&class=money&tn=rss&sub=0',  #理财焦点'http://news.baidu.com/n?cmd=1&class=financialnews&tn=rss&sub=0',  #金融观察焦点'http://news.baidu.com/n?cmd=1&class=internet&tn=rss&sub=0',  #互联网焦点'http://news.baidu.com/n?cmd=1&class=rwdt&tn=rss&sub=0',  #人物动态焦点'http://news.baidu.com/n?cmd=1&class=gsdt&tn=rss&sub=0',  #公司动态焦点'http://news.baidu.com/n?cmd=1&class=housenews&tn=rss&sub=0',  #房产焦点'http://news.baidu.com/n?cmd=1&class=gddt&tn=rss&sub=0',  #各地动态焦点'http://news.baidu.com/n?cmd=1&class=zcfx&tn=rss&sub=0',  #政策风向焦点'http://news.baidu.com/n?cmd=1&class=fitment&tn=rss&sub=0',  #家居焦点'http://news.baidu.com/n?cmd=1&class=autonews&tn=rss&sub=0',  #汽车焦点'http://news.baidu.com/n?cmd=1&class=autobuy&tn=rss&sub=0',  #新车导购焦点'http://news.baidu.com/n?cmd=1&class=autoreview&tn=rss&sub=0',  #试驾焦点'http://news.baidu.com/n?cmd=1&class=sportnews&tn=rss&sub=0',  #体育焦点'http://news.baidu.com/n?cmd=1&class=nba&tn=rss&sub=0',  #NBA焦点'http://news.baidu.com/n?cmd=1&class=worldsoccer&tn=rss&sub=0',  #国际足球焦点'http://news.baidu.com/n?cmd=1&class=chinasoccer&tn=rss&sub=0',   #国内足球焦点'http://news.baidu.com/n?cmd=1&class=cba&tn=rss&sub=0',  #国内篮球焦点'http://news.baidu.com/n?cmd=1&class=othersports&tn=rss&sub=0',  #综合体育焦点'http://news.baidu.com/n?cmd=1&class=olympic&tn=rss&sub=0',  #奥运焦点'http://news.baidu.com/n?cmd=1&class=enternews&tn=rss&sub=0',  #娱乐焦点'http://news.baidu.com/n?cmd=1&class=star&tn=rss&sub=0',  #明星焦点'http://news.baidu.com/n?cmd=1&class=film&tn=rss&sub=0',  #电影焦点'http://news.baidu.com/n?cmd=1&class=tv&tn=rss&sub=0',  #电视焦点'http://news.baidu.com/n?cmd=1&class=music&tn=rss&sub=0',  #音乐焦点'http://news.baidu.com/n?cmd=1&class=gamenews&tn=rss&sub=0',  #游戏焦点'http://news.baidu.com/n?cmd=1&class=netgames&tn=rss&sub=0',  #网络游戏焦点'http://news.baidu.com/n?cmd=1&class=tvgames&tn=rss&sub=0',  #电视游戏焦点'http://news.baidu.com/n?cmd=1&class=edunews&tn=rss&sub=0',  #教育焦点'http://news.baidu.com/n?cmd=1&class=exams&tn=rss&sub=0',  #考试焦点'http://news.baidu.com/n?cmd=1&class=abroad&tn=rss&sub=0',  #留学焦点'http://news.baidu.com/n?cmd=1&class=healthnews&tn=rss&sub=0',  #健康焦点'http://news.baidu.com/n?cmd=1&class=baojian&tn=rss&sub=0',  #保健养生焦点'http://news.baidu.com/n?cmd=1&class=yiyao&tn=rss&sub=0',  #寻医问药焦点'http://news.baidu.com/n?cmd=1&class=technnews&tn=rss&sub=0',  #科技焦点'http://news.baidu.com/n?cmd=1&class=mobile&tn=rss&sub=0',  #手机焦点'http://news.baidu.com/n?cmd=1&class=digi&tn=rss&sub=0',  #数码焦点'http://news.baidu.com/n?cmd=1&class=computer&tn=rss&sub=0',  #电脑焦点'http://news.baidu.com/n?cmd=1&class=discovery&tn=rss&sub=0',  #科普焦点'http://news.baidu.com/n?cmd=1&class=socianews&tn=rss&sub=0',  #社会焦点'http://news.baidu.com/n?cmd=1&class=shyf&tn=rss&sub=0',  #社会与法焦点'http://news.baidu.com/n?cmd=1&class=shwx&tn=rss&sub=0',  #社会万象焦点'http://news.baidu.com/n?cmd=1&class=zqsk&tn=rss&sub=0',  #真情时刻焦点
]def getrss1(feedlist):for url in feedlist:info={}info[url]={'title':'','allitem':[]}try:response=urllib.request.urlopen(url)text = str(response.read(), encoding='utf-8')soup = BeautifulSoup(text, 'lxml')title = soup.titleinfo[url]['title']=titlefor item in soup('item'):try:print(item)suburl={'title':item('title').replace(']]>','').replace('<![CDATA[',''),'link': item('link').replace(']]>', '').replace('<![CDATA[', ''),'source': item('source').replace(']]>', '').replace('<![CDATA[', ''),'text': item('description').get_text().replace(']]>',''),'type':title}print(suburl)info[url]['allitem'].append(suburl)except:print('无法匹配'+item)except:print("error: %s" % url)def getrss(feedlist):rss = {}for url in feedlist:rss[url] = {'title': '','allitem': []}try:response = urllib.request.urlopen(url)text = str(response.read(), encoding='utf-8')soup = BeautifulSoup(text, 'lxml')title = soup.title.get_text()rss[url]['title'] = titlepatterstr = r'<item>.*?' \r'<title>(.*?)</title>.*?' \r'<link>(.*?)</link>.*?' \r'<source>(.*?)</source>.*?' \r'<description>.*?<br>(.*?)<br.*?' \r'</item>'pattern = re.compile(patterstr,re.S)   #使用多行模式results = re.findall(pattern, text)   #如何查询多次if results!=None or len(results)==0:for result in results:suburl = {'title': result[0].replace(']]>', '').replace('<![CDATA[', ''),'link': result[1].replace(']]>', '').replace('<![CDATA[', ''),'source': result[2].replace(']]>', '').replace('<![CDATA[', ''),'text': result[3].replace(']]>', ''),'type': title}print(suburl)rss[url]['allitem'].append(suburl)except:print("error: %s" % url)return rss# 形成一个文本描述和分类的数据集。
if __name__ == '__main__':rss = getrss(feedlist)jsonstr = json.dumps(rss,ensure_ascii=False)f = io.open('rss.json', 'w', encoding='utf-8')f.writelines(jsonstr)f.close()

python爬虫案例——python爬取百度新闻RSS数据相关推荐

  1. python 爬虫案例:爬取百度贴吧图片

    文章更新于:2020-04-24 注1:打包后的程序(无需python环境)下载参见:https://ww.lanzous.com/ibvwref 注2:更多爬虫案例参见:https://github ...

  2. Python爬虫实战之爬取百度贴吧帖子

    Python爬虫实战之爬取百度贴吧帖子 大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 本篇目标 对百度贴吧的 ...

  3. python爬虫案例:抓取网易新闻

    此文属于入门级级别的爬虫,老司机们就不用看了. 本次主要是爬取网易新闻,包括新闻标题.作者.来源.发布时间.新闻正文. 首先我们打开163的网站,我们随意选择一个分类,这里我选的分类是国内新闻.然后鼠 ...

  4. 百度贴吧界面html程序代码,python爬虫例题:爬取百度贴吧评论区图片和视频

    百度贴吧是全球最大的中文交流平台,你是否跟我一样,有时候看到评论区的图片想下载呢?或者看到一段视频想进行下载呢? 今天,本期Python教程带大家通过搜索关键字来获取评论区的图片和视频. [二.项目目 ...

  5. Python爬虫实战之爬取百度音乐歌曲

    Python爬虫爬取百度音乐歌曲 整体思路如下: 1.搜索:通过搜索界面输入歌手名字找到歌手的歌曲信息.千千音乐:网址 2.找到歌曲信息:通过遍历歌曲列表信息界面获取每个歌曲的ID,以及歌曲的总数 3 ...

  6. python爬虫实例之爬取智联招聘数据

    这是作者的处女作,轻点喷.... 实习在公司时领导要求学习python,python的爬虫作为入门来说是十分友好的,话不多说,开始进入正题. 主要是爬去智联的岗位信息进行对比分析出java和pytho ...

  7. python爬取百度百科表格_第一个python爬虫(python3爬取百度百科1000个页面)

    以下内容参考自:http://www.imooc.com/learn/563 一.爬虫简介 爬虫:一段自动抓取互联网信息的程序 爬虫可以从一个url出发,访问其所关联的所有的url.并从每个url指向 ...

  8. python贴吧爬虫-Python 爬虫练习: 爬取百度贴吧中的图片

    背景:最近开始看一些Python爬虫相关的知识,就在网上找了一些简单已与练习的一些爬虫脚本 实现功能:1,读取用户想要爬取的贴吧 2,读取用户先要爬取某个贴吧的页数范围 3,爬取每个贴吧中用户输入的页 ...

  9. Python爬虫案例:爬取携程评论

    前言 之前爬取美团,马蜂窝等网站的数据都挺顺利,大众点评(这个反爬机制有点麻烦)在磕磕绊绊中也算成功(重点是网页页数的变化和关键字的隐藏替换)但携程居然遇到了瓶颈. 主要是查看源代码时发现关键商户信息 ...

最新文章

  1. 微信小程序订单页面下拉刷新上拉分页加载
  2. 求方程ax2+bx+c的根python_Python,计算 ax^2 + bx + c = 0的根
  3. Scrum指南新版发布,再添新概念—Product Goal
  4. 一种混合加密方案在软件授权中的应用
  5. python画图matplotlib基础笔记
  6. gentoo linux mldonkey 问题解决
  7. Redis-08Redis数据结构--基数HyperLogLog
  8. SAP Fiori My note应用的add to功能的后台ABAP实现
  9. CentOS_7 安装MySql5.7
  10. LaneAF | 利用Affinity Field聚类进行车道线实例分割
  11. 【链表】剑指offer:反转链表
  12. stringbuffer java API_StringBuffer类
  13. 手把手编写自己的PHP MVC框架实例教程
  14. java web个人博客开发(一需求获取和需求分析文档)
  15. crmeb单商户4.4开目录结构 crmeb二开文档 crmeb二开目录结构
  16. 节假日查询接口,加班,补班,日期查询,放假,日历
  17. 安卓手机管理器_安卓如何看撤回的微信
  18. labelImg打开闪退怎么解决
  19. 帆软内置数据集实现决策报表联动
  20. 大一下实验总结(三)

热门文章

  1. 零基础学python全彩版答案-零基础学Python(全彩版)
  2. oracle odbc驱动 linux,linux下oracle的odbc驱动的安装与配置
  3. python怎么将json文件转为xls文件_基于python实现把json数据转换成Excel表格
  4. vue根据屏幕大小适配表格高度
  5. vue element-ui只有一条信息时默认选中按钮,且不能取消,多条信息时可以手动选择
  6. Vue3.0 + Ts 项目框架搭建四:配置 Svg-Icon、Icon图标
  7. linux分区磁盘大小,Linux对超大容量磁盘进行分区
  8. jquery ajax实例 php,jquery中各个ajax实例操作
  9. Java输出表格格式_在Java的System.out中以表格式输出
  10. 【软考】软考简易版知识点复习指南汇总