其实是写Java的,但是最近学习Python,于是写了一个Python的简单脚本练手
如何找到SAE上面所有的精华帖子,周末一个人无聊于是研究了一下python的urllib2,下面说下自己收集精华帖子的思路:
1,发送相关模块的请求,生产html信息返回给本地
2,处理html信息,找到可以标示精华帖子的html
3,提取取出href熟悉和<a></a>标签包含的名称
思路很简单,代码也不复杂,下面帖上自己的代码
#! /usr/bin/env python #coding=utf-8 #Python 2.7 #author:tsface #date:2014-04-20 #since:1.0 import urllib2 import time import sys import re reload(sys) sys.setdefaultencoding('utf-8') #定义常量 BASE_PATH='http://cloudbbs.org/' _URL='http://cloudbbs.org/forum.php?mod=forumdisplay' headers ={'User_Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36'} pageSize=30 FIDS=[41,37,39,40,51,52,57,58,60,63,64,65,54,46,62] #定义一个用来函数用来读取当前页面的html文档 #since:1.0 def getHtml(url): realUrl = url consoleLog('request url: '+realUrl) req = urllib2.Request(realUrl,headers = headers) res = urllib2.urlopen(req) html = res.read().decode('utf-8').encode('gb2312','ignore'); return html #定义一个函数用来解析当前文档中的精华帖子的url,并且把帖子的类容存储到一个tuple中 def parseExcellentContent(html): if html: consoleLog('start parse DOM...') regDigest = '(<a[^>]*class="xst" >[\\d\\D]*?</a>)' #找到主题的正则表达是 regContent ='(<th[^>]*class="[\\d\\D].*?">[\\d\\D]*?</th>)' contentList = re.findall(regContent,html,re.S) digestList=[] for item in contentList: #找到精华帖子 _digest = re.findall('alt="digest"',item,re.S) if _digest: _digestContent=re.findall(regDigest,item,re.S) _href=re.findall('<a href="(.*?)"',_digestContent[0],re.S) _bbsName=re.findall('<a.*?>(.*?)</a>',_digestContent[0],re.S) digestList.append({"address":_href[0],"title":_bbsName[0]}) consoleLog('parse successfully...') return digestList else: consoleLog('Nothing to parse') #写信息到文件中 def writeInfo2File(fileName,info): _file=open(fileName,'w+') _file.write(info) _file.close() consoleLog(fileName+'has build...') #定义日志函数 def consoleLog(log): print '['+getCurrentFormatTime()+']'+log #获取本地格式化的时间 def getCurrentFormatTime(): return time.strftime("%Y-%m-%d %A %X %Z", time.localtime()) #定义替换特殊字符的函数 def replaceSpecial(_href): replacedUrl=_href replaceTab = [("<","<"),(">",">"),("&","&"),("&nbps;"," ")] for repl in replaceTab: replacedUrl=replacedUrl.replace(repl[0],repl[1]) return replacedUrl #获取SAE平台上的精华文章列表 def getSAEBBSExcellentInfo(): info="" for fid in FIDS: reqUrl = _URL+'&fid='+str(fid) for i in range(1,pageSize+1): _sigleReqUrl=reqUrl+'&page='+str(i) print _sigleReqUrl objs = parseExcellentContent(getHtml(_sigleReqUrl)) for obj in objs: info+=(BASE_PATH+replaceSpecial(obj['address']))+(" "*10)+obj['title']+'\n' info+=('='*50+str(fid)+'\n') writeInfo2File('test.txt',info) #测试 startTime = time.time() getSAEBBSExcellentInfo() endTime = time.time() consoleLog('the py spend '+str(endTime-startTime))
相关推荐
Python爬虫技术是数据获取的重要工具,特别是在网络信息丰富的今天,爬取火车票数据能帮助我们分析火车票的定价、余票、时段等信息。在这个项目中,我们将深入探讨如何利用Python实现火车票数据的爬取。 首先,我们...
Python爬虫技术是数据获取的重要工具,特别是在网络信息丰富的今天,爬取网页数据成为数据分析、研究和应用的基础。本教程将聚焦于如何使用Python来爬取豆瓣音乐的相关信息,这涵盖了网页结构分析、HTTP请求、解析...
python爬虫-爬取豆瓣评分前250的电影信息
python爬虫,爬取贴吧python爬虫,爬取贴吧python爬虫,爬取贴吧python爬虫,爬取贴吧python爬虫,爬取贴吧python爬虫,爬取贴吧python爬虫,爬取贴吧python爬虫,爬取贴吧python爬虫,爬取贴吧python爬虫,爬取贴吧...
爬虫-爬取北、上、广租房信息.python源码爬虫-爬取北、上、广租房信息.python源码爬虫-爬取北、上、广租房信息.python源码爬虫-爬取北、上、广租房信息.python源码爬虫-爬取北、上、广租房信息.python源码
【作品名称】:python爬虫-基于python 实现的爬取人民日报,爬取人民日报文章后存储到本地【课程设计】(课程设计报告+源码) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程...
Python 实例 - 爬取某网站评论 Python源码Python 实例 - 爬取某网站评论 Python源码Python 实例 - 爬取某网站评论 Python源码Python 实例 - 爬取某网站评论 Python源码Python 实例 - 爬取某网站评论 Python源码...
爬取的内容是,ZARA Online(zaraproducts):商品...基于网络爬虫技术,爬取ZARA男士数据。ZARA男士数据被保存为三种形式(txt形式、csv形式和mysql数据库形式)。包含完整详细的爬虫流程、爬虫代码和代码说明解释等。
本教程将详细讲解如何使用Python爬虫技术来爬取新浪博客并进行归档。 首先,我们需要了解Python爬虫的基础知识。Python作为一门强大的编程语言,因其简洁易读的语法和丰富的库支持,成为爬虫开发的首选。在爬虫领域...
Python爬虫实例-爬取豆瓣Top250-保存为表格
本资源“精选_python爬虫--爬取网站中的多个网页_源码打包”提供了爬取网站多个网页的源码,帮助初学者或开发者更好地理解和实现网页爬取。 在Python中,最常用的爬虫库是BeautifulSoup和Scrapy。BeautifulSoup库...
基于Python的天眼查爬虫-下载即用-爬取完整的公司数据(可爬需要VIP才能用的邮箱和电话等),PS:运行前请将自己的cookie放到26行那里。 基于Python的天眼查爬虫-下载即用-爬取完整的公司数据(可爬需要VIP才能用...
通过这个过程,我们可以实现Python爬虫自动收集Instagram上的特定用户内容,为数据分析和研究提供数据支持。但需要注意的是,爬虫操作必须遵守网站的使用协议,尊重数据隐私,合理合法地使用爬取的信息。
爬取过程的字典库需要两个条件,字库所对应的坐标与字典的svg矢量图的位置。然后对网站评论隐藏内容于字典库中的数据替换。解析所需要构造的内容如:头像、用户、标签、评论内容、图片、评分等。然后保存到txt或者...
一个实战性项目,python入门 爬取百度百科python词条相关的1000个词条 也可以直接在我的博客里面查看:http://blog.csdn.net/qiqiyingse/article/details/51798833 解压密码:123 主要是之前写的内容因为百度百科的...
本程序需要在 python 下,并且需要下载程序依赖的包才能运行。本程序需要用到的包主 要有:requests、bs4、os、datetime。 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,...
基于Python爬虫完成爬取的基金网基金数据源代码.zip基于Python爬虫完成爬取的基金网基金数据源代码.zip基于Python爬虫完成爬取的基金网基金数据源代码.zip基于Python爬虫完成爬取的基金网基金数据源代码.zip基于...
运用scrapy与ip代理池相结合,对二手房信息进行数据爬取,能提高爬虫爬取的效率
这篇文章主要介绍了python爬虫之爬取百度云源代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。这篇文章主要介绍了python爬虫之爬取百度云源代码实例,...
这篇文章主要介绍了python爬虫之爬取新浪微博源代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。这篇文章主要介绍了python爬虫之爬取新浪微博源代码...