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

今天有了一个想法,想自己用Python写一个新浪明星日志推荐系统
 那么第一步要完成的工作就是获得新浪明星日志的数据,于是自己写了一个爬虫,实现的功能是爬取新浪明星日志的作者,推荐的文章链接,以及作者日志列表或者首页链接,具体程序如下:

# -*- coding: utf-8 -*-

"""

Created on Wed May 20 13:55:00 2015

@author: Thinkgamer

"""

import urllib

import os,re

import sys

from bs4 import BeautifulSoup

reload(sys)

sys.setdefaultencoding("utf-8")



if "__main__"==__name__:

    i = 1

    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:

        list_a = li.find_all("a")

        one_link = list_a[1].get("href") #获取连接

        print list_a[0].get_text()

        print one_link

        if len(one_link)>10:

            page = urllib.urlopen(one_link).read()

        if len(page)!=0:

            href=r'<a class="on" href=.*?>'

        link = re.findall(href,page,re.M|re.S)

        if link:

            a_soup = BeautifulSoup(link[0],from_encoding= "gb18030")

            a_href = a_soup.find_all('a')

            href = a_href[0].get('href')

            print a_href[0].get('href')
    

        fp = file("title.txt","a")

        fp.write(list_a[0].get_text())

        fp.write("\n")

        fp.write(one_link)

        fp.write("\n")

        fp.write(href)
    
        fp.write("\n")
        
        fp.close()

    else:

        pass


print "OK!"


搜索与推荐Wiki

扫一扫 关注微信公众号!号主 专注于搜索和推荐系统,尝试使用算法去更好的服务于用户,包括但不局限于机器学习,深度学习,强化学习,自然语言理解,知识图谱,还不定时分享技术,资料,思考等文章!


                             【技术服务】,详情点击查看:https://mp.weixin.qq.com/s/PtX9ukKRBmazAWARprGIAg 


外包服务

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值