您的位置:首页 > 编程语言 > Python开发

python爬虫笔记

2014-07-11 23:06 429 查看
初学python爬虫,感觉光看看学不到什么,自己瞎折腾了一个爬百度贴吧小说。

自己感觉不是很实用,不过还是写下来备忘下,也算留个纪念。

#! /usr/bin/env/python 27
# coding:gbk

import urllib2
import re

def findurl(i):
pattern=re.compile('/p/\d{10}')
Match=re.search(pattern,i).group()
url='http://tieba.baidu.com'+Match+'?see_lz=1'
return url

def findtitle(i):
pattern=re.compile(u'\xb5\xda.+\xd5\xc2.+\xa1\xbf')
title=re.search(pattern,i).group()
return title

def main():
name=raw_input('请输入贴吧名字:')
fo=open(name+'.txt','w+')
name=urllib2.quote(name)
url='http://tieba.baidu.com/f/good?kw='+name+'&cid=0&pn='
for index in xrange(550,-1,-50):
page=urllib2.urlopen(url+str(index)).read()
pattern=re.compile(u'<a href="/p/\d{10}" title="\xb5\xda.+\xd5\xc2.+" t')
result=re.findall(pattern,page)
for each in reversed(result):
#fo.writelines(findtitle(each)+'\n')
article=urllib2.urlopen(findurl(each)).read()
pattern=re.compile('id="post_content.*?>(.*?)</div>')
content=re.search(pattern,article).group()
pattern=re.compile('.+>')
stripl=re.search(pattern,content).group()
result=content.replace('<br>','\n').rstrip('</div>').lstrip(stripl)
fo.writelines(result+'\n')
fo.close()
print 'Done!'

if __name__=='__main__':
main()


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: