新浪明星日志推荐系统——爬虫爬取数据(2)-阿里云开发者社区

开发者社区> thinkgamer.cn> 正文

新浪明星日志推荐系统——爬虫爬取数据(2)

简介: 由于之前的改造,现在将爬虫的功能做了一些改变,具体实现的功能是将推荐的日志全部抓取下来,并存放在以文章标题命名的文件中,代码如下: import urllib import os,re import sys from bs4 import BeautifulSoup reload(sys) sys.
+关注继续查看

由于之前的改造,现在将爬虫的功能做了一些改变,具体实现的功能是将推荐的日志全部抓取下来,并存放在以文章标题命名的文件中,代码如下:

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!"

另外附上一张成果图:

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
爬虫练习之数据清洗——基于Pandas
本次以51Job上在东莞地区爬取的以Java为关键词的招聘数据 包括salary company time job_name address字段 当我把招聘网站上的数据爬下来的时候,内心是很开心的 爬下来的原始数据 但是! What?! 这是什么数据? 而且还不止一条!!! 待清洗数据 待清洗数据 第一次数据清洗 根据上述截图可以发现,脏数据都包含了xx元/小时以及xx元/天。
2441 0
爬虫练习之数据整理——基于Pandas
上一篇->爬虫练习之数据清洗——基于Pandas 本次以51Job上在东莞地区爬取的以Java为关键词的招聘数据 包括salary company time job_name address字段 目的 本次数据整理的小目标是将薪资数据拿出来单独处理为...
1068 0
Python爬虫入门教程 31-100 36氪(36kr)数据抓取 scrapy
1. 36氪(36kr)数据----写在前面 今天抓取一个新闻媒体,36kr的文章内容,也是为后面的数据分析做相应的准备的,预计在12月底,爬虫大概写到50篇案例的时刻,将会迎来一个新的内容,系统的数据分析博文,记得关注哦~ 36kr 让一部分人先看到未来,而你今天要做的事情确实要抓取它的过去。
9247 0
Angular4总结(四)—— 数据绑定,响应式,管道
数据绑定 angular4中默认的数据绑定都是单向的。可分为: 插值表达式形式(Dom属性绑定) <p>{{test}}<p> Dom 属性绑定流程: 控制器中定义了一个属性,值发生了改变 对应的dom的value被附上改变了的值 渲染后的页面上也会出现刚刚的值 这一切操作都和html属性不发生任何关系 html属性绑定,使用中括号 <img [src]="imgUrl"/> //如果没有写这个方括号,angular会把属性右侧的值作为字符串进行赋值,而非表达式 基本Html属性绑定 CSS属性绑定 这种形式是全有或者全无的。
1193 0
+关注
thinkgamer.cn
wechat 搜索【数据与算法联盟】,专注于云计算和算法,目前就职于京东
121
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载