zoukankan      html  css  js  c++  java
  • python 学习爬虫教程~

    思路::

    (本文没有用xpath定位,xpath需要导入第三方库   from lxml import etree)

    1.首先通过urllib类获取到网页的所有内容

    2.通过partition获取其中的部分内容

    3.在通过指定内容放到放到一个list中1!

    代码如下:

    #encoding: utf-8
    import urllib, os
    
    # 获取网页内容
    def getContent(urlAddr):
        page = urllib.urlopen(urlAddr)
        html = page.read()
        return html
    # 获取指定内容
    def content(html):
        str = r'<div id="post_list">'
        content = html.partition(str)[2]
        str1 = r'<script>'
        content = content.partition(str1)[0]
    
    # 爬取内容太存到list中
    def getTitleName(content, beg = 0):
        try:
            title_list = []
            while True:
                num1 = content.index('target="_blank">', beg)+16
                num2 = content.index('</a>', num1)
                title_list.append(content[num1:num2])
                beg = num2
        except ValueError:
            return title_list
    
    
    SourceUrl = "http://www.cnblogs.com/pick/"
    contentTotal = getContent(SourceUrl)
    specilContent = content(contentTotal)
    
    for i in range (1, 40):
        print "%d标题是:%s" % (i, getTitleName(contentTotal)[i])

    显示效果为:

    1标题是:架构之路(五):忘记数据库
    2标题是:.NET基础拾遗(5)多线程开发基础
    3标题是:你为什么不分享
    4标题是:架构之路(三) 单元测试
    5标题是:从中间件的历史来看移动App开发的未来
    6标题是:架构之路(二):性能
    7标题是:每个人都应该懂点函数式编程
    8标题是:程序员读书这件事情
    9标题是:前端代码异常日志收集与监控
    10标题是:iOS开发系列--Swift语言
    11标题是:设计-简约而不简单
    12标题是:Entity Framework教程(第二版)
    13标题是:搞个这样的APP要多久?
    14标题是:REST简介
    15标题是:探索C#之6.0语法糖剖析
    16标题是:CLR 这些年有啥变化吗?
    17标题是:理想的应用框架
    18标题是:Web性能优化:What? Why? How?
    19标题是:CSS十问——好奇心+刨根问底=CSSer
    20标题是:难免的尴尬:代码依赖
    21标题是:反馈或建议
    22标题是:官方博客
    23标题是:博客模板
    24标题是:.NET招聘
    25标题是:Java招聘
    26标题是:C++招聘
    27标题是:PHP招聘
    28标题是:Web前端招聘
    29标题是:<img src="http://img.cnblogs.com/friend_links/logo_aliyun.jpg" alt="阿里云" />
    30标题是:沪江网
    31标题是:站长之家
    32标题是:天极网
    33标题是:A5源码下载
    34标题是:葡萄城控件
    35标题是:又拍云存储
    36标题是:高考查分
    37标题是:听云APP
    38标题是:融云IM云
    39标题是:极光推送
    [Finished in 0.7s]

    github地址为:

  • 相关阅读:
    CodeForces 459D Pashmak and Parmida's problem
    cf 459c Pashmak and Buses
    hdu 1006 Tick and Tick 有技巧的暴力
    hdu 1005 Number Sequence
    hdu 1004 Let the Balloon Rise
    c++ 单引号和双引号
    c++一些总结
    剑指offer23 从上往下打印二叉树
    E: Unable to locate package
    vector
  • 原文地址:https://www.cnblogs.com/ievjai/p/4943943.html
Copyright © 2011-2022 走看看