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地址为:

posted @ 2015-11-06 23:35  叉叉敌  阅读(304)  评论(0编辑  收藏  举报