python抓取最新博客内容并生成Rss

   本文给大家分享的是使用python抓取最新博客内容并生成Rss的代码,主要用到了PyRSS2Gen方法,非常的简单实用,有需要的小伙伴可以参考下。

  osc的rss不是全文输出的,不开心,所以就有了python抓取osc最新博客生成Rss

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83

# -*- coding: utf-8 -*-
 
 
from bs4 import BeautifulSoup
import urllib2
 
import datetime
import time
import PyRSS2Gen
from email.Utils import formatdate
import re
import sys
import os
reload(sys)
sys.setdefaultencoding('utf-8')
 
class RssSpider():
def __init__(self):
self.myrss = PyRSS2Gen.RSS2(title='OSChina',
link='http://my.oschina.net',
description=str(datetime.date.today()),
pubDate=datetime.datetime.now(),
lastBuildDate = datetime.datetime.now(),
items=[]
)
self.xmlpath=r'/var/www/myrss/oschina.xml'
 
self.baseurl="http://www.oschina.net/blog"
#if os.path.isfile(self.xmlpath):
#os.remove(self.xmlpath)
def useragent(self,url):
i_headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36",
"Referer": 'http://baidu.com/'}
req = urllib2.Request(url, headers=i_headers)
html = urllib2.urlopen(req).read()
return html
def enterpage(self,url):
pattern = re.compile(r'd{4}Sd{2}Sd{2}sd{2}Sd{2}')
rsp=self.useragent(url)
soup=BeautifulSoup(rsp)
timespan=soup.find('div',{'class':'BlogStat'})
timespan=str(timespan).strip().replace('n','').decode('utf-8')
match=re.search(r'd{4}Sd{2}Sd{2}sd{2}Sd{2}',timespan)
timestr=str(datetime.date.today())
if match:
timestr=match.group()
#print timestr
ititle=soup.title.string
div=soup.find('div',{'class':'BlogContent'})
rss=PyRSS2Gen.RSSItem(
title=ititle,
link=url,
description = str(div),
pubDate = timestr
)
 
return rss
def getcontent(self):
rsp=self.useragent(self.baseurl)
soup=BeautifulSoup(rsp)
ul=soup.find('div',{'id':'RecentBlogs'})
for li in ul.findAll('li'):
div=li.find('div')
if div is not None:
alink=div.find('a')
if alink is not None:
link=alink.get('href')
print link
html=self.enterpage(link)
self.myrss.items.append(html)
def SaveRssFile(self,filename):
finallxml=self.myrss.to_xml(encoding='utf-8')
file=open(self.xmlpath,'w')
file.writelines(finallxml)
file.close()
 
 
 
if __name__=='__main__':
rssSpider=RssSpider()
rssSpider.getcontent()
rssSpider.SaveRssFile('oschina.xml')

  以上所述就是本文的全部内容了,希望大家能够喜欢。

时间: 2024-10-20 09:18:40

python抓取最新博客内容并生成Rss的相关文章

使用TinySpider实战抓取自己博客中的内容

因为做官网,没有内容,因此就想办法从OSChina中写的博客里弄点内容,这就要用到爬虫了. 然后就花了几分钟搞了一下,步骤如下: 第一步,写个方法抓目录: ? 1 2 3 4 5 6 7 8 9 10 11 public static void processCategory(String categoryId) {         Watcher watcher = new WatcherImpl();         Spider spider = new SpiderImpl();    

Scrapy ——自动多网页爬取(抓取某人博客所有文章)(四)

首先创建project: [python] view plain copy   scrapy startproject CSDNBlog   一. items.py编写 在这里为清晰说明,只提取文章名称和文章网址. [python] view plain copy   # -*- coding:utf-8 -*-      from scrapy.item import Item, Field      class CsdnblogItem(Item):       """存

python抓取安居客小区数据的程序代码

某功能需要一套城市所有小区的位置信息数据,一开始是使用的百度地图api来进行关键词搜索,勉强能用,但数据量非常少,还是有大量的社区/小区搜不到.周末在家上网时发现安居客上直接就有每个城市的小区大全,欣喜若狂,于是就立即写了个爬虫试试.以下贴代码,python2.7,lxml+request库. #coding=utf-8 #author : zx #date   : 2015/07/27 import requests import MySQLdb import time import stri

利用Python抓取行政区划码的方法_python

前言 国家统计局网站上有相对比较齐的行政区划码,对于一些网站来说这是非常基础的数据,所以写了个Python程序将这部分数据抓取下来. 注意:抓取下来以后还要进行简单的人工的整理 示例代码: # -*- coding:utf-8 -*- ''' 获取国家统计局上的行政区划码 ''' import requests,re base_url = 'http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201504/t20150415_712722.html' def get

如何从你的访客中找到博客内容来源

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 最近与很多博主交流,发现大家都在为博客内容写什么而发愁,感觉自己的博客已经写的差不多了,翻来覆去还是写那些东西,要不就是记流水账.其实博客的内容来源非常多,只是大家总是想从自己的生活.工作出发,太局限了.今天就分享下自己如何从访客的角度收集博文内容. 博客是一个互动的平台,好的文章,很多人会留言,同时也会产生很多咨询和问题,这些资源我们能好好

Python抓取框架:Scrapy的架构

最近在学Python,同时也在学如何使用python抓取数据,于是就被我发现了这个非常受欢迎的Python抓取框架Scrapy,下面一起学习下Scrapy的架构,便于更好的使用这个工具. 一.概述 下图显示了Scrapy的大体架构,其中包含了它的主要组件及系统的数据处理流程(绿色箭头所示).下面就来一个个解释每个组件的作用及数据的处理过程. 二.组件 1.Scrapy Engine(Scrapy引擎) Scrapy引擎是用来控制整个系统的数据处理流程,并进行事务处理的触发.更多的详细内容可以看下

Python抓取框架 Scrapy的架构_python

最近在学Python,同时也在学如何使用python抓取数据,于是就被我发现了这个非常受欢迎的Python抓取框架Scrapy,下面一起学习下Scrapy的架构,便于更好的使用这个工具. 一.概述 下图显示了Scrapy的大体架构,其中包含了它的主要组件及系统的数据处理流程(绿色箭头所示).下面就来一个个解释每个组件的作用及数据的处理过程. 二.组件 1.Scrapy Engine(Scrapy引擎) Scrapy引擎是用来控制整个系统的数据处理流程,并进行事务处理的触发.更多的详细内容可以看下

Python 抓取动态网页内容方案详解_python

用Python实现常规的静态网页抓取时,往往是用urllib2来获取整个HTML页面,然后从HTML文件中逐字查找对应的关键字.如下所示: 复制代码 代码如下: import urllib2 url="http://mm.taobao.com/json/request_top_list.htm?type=0&page=1" up=urllib2.urlopen(url)#打开目标页面,存入变量up cont=up.read()#从up中读入该HTML文件 key1='<a

google性格二:google资讯偏爱收录博客内容

中介交易 SEO诊断 淘宝客 云主机 技术大厅 无意中的发现,本人最新发表的博客文章,竟然大部分都是从google资讯搜索过来的.一篇 新的文章,大约几个小时之后,就会被google资讯收录. google资讯对网易博客进行了收录,约有490项结果:    http://news.google.cn/news?rls=com.microsoft%3Azh-cn%3AIE-SearchBox&ie=UTF-8&oe=UTF-8&sourceid=ie7&rlz=1I7GGLJ