Python实现抓取页面上链接的简单爬虫分享

 更新时间:2015年01月21日 11:46:34   投稿:junjie   我要评论

这篇文章主要介绍了Python实现抓取页面上链接的简单爬虫分享,本文使用了一个开源模块requests实现需求,需要的朋友可以参考下

除了C/C++以外,我也接触过不少流行的语言,PHP、java、javascript、python,其中python可以说是操作起来最方便,缺点最少的语言了。

前几天想写爬虫,后来跟朋友商量了一下,决定过几天再一起写。爬虫里重要的一部分是抓取页面中的链接,我在这里简单的实现一下。

首先我们需要用到一个开源的模块,requests。这不是python自带的模块,需要从网上下载、解压与安装:

复制代码 代码如下:

$ curl -OL https://github.com/kennethreitz/requests/zipball/master
$ python setup.py install

windows用户直接点击下载。解压后再本地使用命令python setup.py install安装即可。 https://github.com/kennethreitz/requests/zipball/master

这个模块的文档我也正在慢慢翻译,翻译完了就给大家传上来(英文版先发在附件里)。就像它的说明里面说的那样,built for human beings,为人类而设计。使用它很方便,自己看文档。最简单的,requests.get()就是发送一个get请求。

代码如下:

复制代码 代码如下:

# coding:utf-8
import re
import requests

# 获取网页内容
r = requests.get('http://www.163.com')
data = r.text

# 利用正则查找所有连接
link_list =re.findall(r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')" ,data)
for url in link_list:
    print url

首先import进re和requests模块,re模块是使用正则表达式的模块。

data = requests.get('http://www.163.com'),向网易首页提交get请求,得到一个requests对象r,r.text就是获得的网页源代码,保存在字符串data中。

再利用正则查找data中所有的链接,我的正则写的比较粗糙,直接把href=""或href=''之间的信息获取到,这就是我们要的链接信息。

re.findall返回的是一个列表,用for循环遍历列表并输出:

这是我获取到的所有连接的一部分。

上面是获取网站里所有链接的一个简单的实现,没有处理任何异常,没有考虑到超链接的类型,代码仅供参考。requests模块文档见附件。

相关文章

  • python实现字符串中字符分类及个数统计

    python实现字符串中字符分类及个数统计

    这篇文章主要介绍了python实现字符串中字符分类及个数统计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • 酷! 程序员用Python带你玩转冲顶大会

    酷! 程序员用Python带你玩转冲顶大会

    程序员用Python玩转王思聪的《冲顶大会》,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 详解tensorflow载入数据的三种方式

    详解tensorflow载入数据的三种方式

    这篇文章主要介绍了详解tensorflow载入数据的三种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Python 通配符删除文件的实例

    Python 通配符删除文件的实例

    下面小编就为大家分享一篇Python 通配符删除文件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 小结Python用fork来创建子进程注意事项

    小结Python用fork来创建子进程注意事项

    今天看到别人的源代码中有 fork 子进程来操作数据。但是由于 fork 之后,没有及时的退出,导致系统中的Python进程越来越多,子进程越来越多了。
    2014-07-07
  • Python迭代器和生成器介绍

    Python迭代器和生成器介绍

    这篇文章主要介绍了Python迭代器和生成器介绍,本文分别用代码实例讲解了Python的迭代器和生成器,需要的朋友可以参考下
    2015-03-03
  • Python实现按学生年龄排序的实际问题详解

    Python实现按学生年龄排序的实际问题详解

    这篇文章主要给大家介绍了关于Python实现按学生年龄排序实际问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-08-08
  • python pandas修改列属性的方法详解

    python pandas修改列属性的方法详解

    今天小编就为大家分享一篇python pandas修改列属性的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python的常见命令注入威胁

    python的常见命令注入威胁

    不过下面可是我们开发产品初期的一些血淋淋的案例,更多的安全威胁可以看看北北同学的《python hack》PPT,里面提及了不只命令执行的威胁,那些都是我们亲身经历的代码
    2013-02-02
  • python内置函数:lambda、map、filter简单介绍

    python内置函数:lambda、map、filter简单介绍

    Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读。下面对python内置函数:lambda、map、filter简单介绍下,需要的朋友参考下吧
    2017-11-11

最新评论