美文网首页菜鸟程序员生活不易 我用python
python__超级超级超级简单的一个爬虫小程序

python__超级超级超级简单的一个爬虫小程序

作者: Kedi | 来源:发表于2016-02-18 19:53 被阅读5027次

首次接触爬虫,这个程序可以让初学者明白爬虫是啥,爬虫的基本逻辑。
(参照网易云课堂heibanke老师的程序编写的。heibanke老师的课程讲得很清楚,感兴趣的选手可以去看看)

被爬虫的网址是
http://www.heibanke.com/lesson/crawler_ex00/
需要完成的任务是在网址后面输入显示的数字转入下一个网址,再次读取显示的数字,转入下一个网址,以此循环

爬虫要求

在爬虫的时候需要需要用到两个库,一个urllib,一个BeautifulSoup,urllib为python自带的库,beautifulsoup需要自己安装

pip install beautifulsoup4

安装成功后导入

import urllib
from bs4 import BeautifulSoup

urllib提供了一系列用于操作URL的功能
打开要爬取得网站:

urllib.urlopen(url)

beautifulsoup主要用于解析HTML,将 HTML转化成数型结构,每个节点都是Python对象。
所有对象可以归纳为4种:
1.Tag
2.NavigableString
3.BeautifulSoup
4.Comment
如果一个HTML为

<html>
 <[head])>
  <title>
   The Dormouse's story
  </title>
print soup.title
>>><title>The Dormouse's story</title>
print soup.title.string
>>>The Dormouse's story

程序逻辑:
读出页面上的数字,将数字加在url后面,继续读取新页面的数字,直到进入最后一个没有数字的页面,break
程序如下:

import urllib
from bs4 import BeautifulSoup
import re#这个库导入是为了使用正则表达式读取读取找到的内容中的数字

url='http://www.heibanke.com/lesson/crawler_ex00/'
number=['']#用于储存读到的数字

while True:
    content = urllib.urlopen(url+number[0])#number为字符串,number[0]为数字
    bs_obj = BeautifulSoup(content,"html.parser")#html.parser表示解析网站,不返回任何值
    number = bs_obj.h3.string#网页显示出的“你需要在网址后输入数字44513”在html的h3 tag中,number在这里读出了h3里面的内容
    number= re.findall(r'\d+',number)#读出了number里面的数字
    if not number:#必须判断页面中还有是否还有number,没有说明已经到了最后一个页面,这时应该跳出循环,打印 bs_obj.h3.string
        break
    else:
        print number[0]
print bs_obj.h3.string

相关文章

  • python__超级超级超级简单的一个爬虫小程序

    首次接触爬虫,这个程序可以让初学者明白爬虫是啥,爬虫的基本逻辑。(参照网易云课堂heibanke老师的程序编写的。...

  • 快手咸香土豆饼,既可当早餐又可当零食的做法

    周末早上,来分享咸香土豆饼的做法,超级简单的材料, 超级简单的做法, 味道却超级香!超级简单的材料, 超级简单的做...

  • 血色的聚会

    先是一个超级超级超级简单的自我介绍:hi,我是小c(or CC if you like it),我是阿加莎克里斯蒂...

  • 开心的一天

    今天,有一个超级超级超级超级好看的男生和我说话,我现在超级超级超级超级超级超级开心。

  • 超级简单,超级快乐

    1 睡了一个超级棒的觉,超级满足。我的满足就很简单,简单的满足又很快乐。 可全部都是“超级”的。 吃简单的食物,做...

  • 对诗人的羡慕

    我超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级...

  • 小豆芽。

    我的小豆芽长得,超级超级,超级超级超级,超级,超级,超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超...

  • ...

    牙超级超级超级疼 超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级 不开心

  • 六一儿童节万岁O(≧▽≦)O 😃😃😃😃😃

    今天是个超级超级超级超级超级超级超级超级超级超级超级超级超级好的日子,因为,今天是六一儿童节!!!!!是属于...

  • 昆虫

    你这个超级大混蛋超级超级超级超级超级超级超级大混蛋

网友评论

本文标题:python__超级超级超级简单的一个爬虫小程序

本文链接:https://www.haomeiwen.com/subject/szwmkttx.html