zoukankan      html  css  js  c++  java
  • python爬虫笔记

    初学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'xb5xda.+xd5xc2.+xa1xbf')
        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="xb5xda.+xd5xc2.+" t')
            result=re.findall(pattern,page)
            for each in reversed(result):
                #fo.writelines(findtitle(each)+'
    ')
                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>','
    ').rstrip('</div>').lstrip(stripl)
                fo.writelines(result+'
    ')
        fo.close()
        print 'Done!'
    
    if __name__=='__main__':
        main()
    

      

    PS:水平所限,文中难免有错误之处,欢迎指正,共同交流探讨。如转载请保留本段话,注明出处。
  • 相关阅读:
    前端小tite(随笔)
    算法两数之和 python版
    常用标签
    pip install 遇到的问题
    不常用的模块
    约束和约束关系
    Django初识
    前端—Bootstrap
    前端—jQuery
    前端—BOM和DOM
  • 原文地址:https://www.cnblogs.com/Mr-Rice/p/3838677.html
Copyright © 2011-2022 走看看