新浪明星日志推荐系统——爬虫爬取数据(2)
来源:互联网 发布:用户画像 聚类算法 编辑:程序博客网 时间:2024/04/30 07:01
由于之前的改造,现在将爬虫的功能做了一些改变,具体实现的功能是将推荐的日志全部抓取下来,并存放在以文章标题命名的文件中,代码如下:
import urllib
import os,re
import sys
from bs4 import BeautifulSoup
reload(sys)
sys.setdefaultencoding("utf-8")
def if_str(str_t):
if re.search(r"^.*[a-zA-Z].*",str_t)== None:
print " saf"
def get_blog(url):
page = urllib.urlopen(url).read()
if len(page)!=0:
if BeautifulSoup(page).title != None:
str_title = BeautifulSoup(page).title.string #获取title名称,并作为文件名称
if re.search(r"^.*[a-zA-Z|\s\",<>].*",str_title) == None:
fp = file("%s.txt" % str_title,"w")
page_js = r"<!-- 正文开始 -->[\s\S]*<!-- 正文结束 -->" # 正则匹配文章正文部分
if re.search(page_js,page):
soup = BeautifulSoup(re.search(page_js,page).group(0),from_encoding="gb18030")
for div in soup.find_all("div"):
fp.write(div.get_text().lstrip())
fp.close()
if "__main__"==__name__:
i = 1
if i<7:
for j in range(1,140):
url = "http://roll.ent.sina.com.cn/blog/star/index_" + str(i) +".shtml"
fp = file("EveryPageHref.txt","a")
fp.write(url)
fp.write("\n")
fp.close()
i+=1
page = urllib.urlopen(url).read()
soup = BeautifulSoup(page,from_encoding = "gb18030")
list_ul = soup.find_all("ul",class_="list_009")
list_li = list_ul[0].find_all("li")
for li in list_li:
l ist_a = li.find_all("a")
one_link = list_a[1].get("href") #获取连接
str_title = list_a[0].get_text()
if one_link != "http://blog.sina.com.cn/s/blog_4a6c545e0102vgwe.html":
get_blog(one_link)
print "OK!"
另外附上一张成果图:- 新浪明星日志推荐系统——爬虫爬取数据(2)
- 新浪明星日志推荐系统——爬虫爬取数据(1)
- 新浪明星日志热门推荐(java实现)
- Scrapy爬虫(2)爬取新浪旅游图片
- nodejs爬虫热点新闻,明星人物(百度,微博,新浪,网易,贴吧,微博明星,百度明星)
- Python爬虫学习(一)——爬取新浪新闻
- 使用python网络爬虫爬取新浪新闻(一)
- python爬虫——用selenium和phantomjs对新浪微博PC端进行爬取(二)
- python 爬虫——scrapy框架爬取新浪娱乐文本初探
- python爬虫——根据指定关键词爬取新浪微博
- Java开源爬虫框架WebCollector—爬取新浪微博
- 四周实现爬虫系统(2)---爬取租房信息
- 第一次爬虫————爬取地震数据
- Scrapy爬虫入门——爬取dmoz.org数据
- 8-使用爬虫登录后台系统并爬取数据
- python爬虫案例——新浪腾讯股票数据采集
- (8)Python爬虫——爬取豆瓣影评数据
- python爬虫(3)——python爬取大规模数据的的方法和步骤
- linux驱动--i2c驱动学习
- Hadoop性能调优总结(一)
- unity 中IL_Code解决方法
- IOS高级开发~开机启动&无限后台运行&监听进程
- 微软100题(25)找出字符串中的最长数字串
- 新浪明星日志推荐系统——爬虫爬取数据(2)
- c++学习笔记(一):函数指针的使用
- 心情随笔(一):五月随笔满满的正能量
- Android对话框使用详解(二)
- 开始
- IOS 5 6 7适配
- bat命令学习
- nagios 安装手册
- UESTC -- 1074 秋实大哥搞算数 (栈)