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

除了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模块文档见附件。

时间: 2024-08-17 17:02:10

Python实现抓取页面上链接的简单爬虫分享_python的相关文章

python正则匹配抓取豆瓣电影链接和评论代码分享_python

复制代码 代码如下: import urllib.requestimport reimport time def movie(movieTag):     tagUrl=urllib.request.urlopen(url)    tagUrl_read = tagUrl.read().decode('utf-8')    return tagUrl_read def subject(tagUrl_read):     '''         这里还存在问题:        ①这只针对单独的一页

Python实现抓取城市的PM2.5浓度和排名_python

主机环境:(Python2.7.9 / Win8_64 / bs4) 利用BeautifulSoup4来抓取 www.pm25.com 上的PM2.5数据,之所以抓取这个网站,是因为上面有城市PM2.5浓度排名(其实真正的原因是,它是百度搜PM2.5出来的第一个网站!) 程序里只对比了两个城市,所以多线程的速度提升并不是很明显,大家可以弄10个城市并开10个线程试试. 最后吐槽一下:上海的空气质量怎么这么差!!! PM25.py 复制代码 代码如下: #!/usr/bin/env python

Python实现爬取知乎神回复简单爬虫代码分享_python

看知乎的时候发现了一个 "如何正确地吐槽" 收藏夹,里面的一些神回复实在很搞笑,但是一页一页地看又有点麻烦,而且每次都要打开网页,于是想如果全部爬下来到一个文件里面,是不是看起来很爽,并且随时可以看到全部的,于是就开始动手了. 工具 1.Python 2.7 2.BeautifulSoup 分析网页 我们先来看看知乎上该网页的情况 网址:,容易看到,网址是有规律的,page慢慢递增,这样就能够实现全部爬取了. 再来看一下我们要爬取的内容: 我们要爬取两个内容:问题和回答,回答仅限于显示

python-问一个关于Python抓取页面跳转的问题(略愚蠢。。。)

问题描述 问一个关于Python抓取页面跳转的问题(略愚蠢...) 真的.可能这问题真的挺愚蠢...但咱还是厚着脸皮问下大神了... 问题是这样的:我在做一个抓取我们学校教务系统课表的爬虫,登陆的已经写好了,问题出在登陆以后怎么跳转. 登陆后的页面和切换到(跳转到)课程表页面的url是一样一样的... 而且wireshark抓包也没发现任何post数据包 教务系统截图如下 也是没任何post包,我试了下postdata也是没抓取到课程表页面... 总结一下: 1.页面跳转后url和跳转前一致 2

用Python程序抓取网页的HTML信息的一个小实例

  这篇文章主要介绍了用Python程序抓取网页的HTML信息的一个小实例,用到的方法同时也是用Python编写爬虫的基础,需要的朋友可以参考下 抓取网页数据的思路有好多种,一般有:直接代码请求http.模拟浏览器请求数据(通常需要登录验证).控制浏览器实现数据抓取等.这篇不考虑复杂情况,放一个读取简单网页数据的小例子: 目标数据 将ittf网站上这个页面上所有这些选手的超链接保存下来. 数据请求 真的很喜欢符合人类思维的库,比如requests,如果是要直接拿网页文本,一句话搞定: ? 1 d

PHP怎样用正则抓取页面中的网址_php技巧

前言 链接也就是超级链接,是从一个元素(文字.图片.视频等)链接到另一个元素(文字.图片.视频等).网页中的链接一般有三种,一种是绝对URL超链接,也就是一个页面的完整路径:另一种是相对URL超链接,一般都链接到同一网站的其他页面:还有一种是页面内的超链接,这种一般链接到同一页面内的其他位置. 搞清楚了链接的种类,就知道要抓链接,主要还是绝对URL超链接和相对URL超链接.要写出正确的正则表达式,就必须要了解我们查找的对象的模式. 先说绝对链接,也叫作URL(Uniform Resource L

Python3分析sitemap.xml抓取导出全站链接

最近网站从HTTPS转为HTTP,更换了网址,旧网址做了301重定向,折腾有点大,于是在百度站长平台提交网址,不管是主动推送还是手动提交,前提都是要整理网站的链接,手动添加太麻烦,效率低,于是就想写个脚本直接抓取全站链接并导出,本文就和大家一起分享如何使用python3实现抓取链接导出. 首先网站要有网站地图sitemap.xml文件地址,其次我这里用的是python3版本,如果你的环境是python2,需要对代码进行调整,因为python2和python3很多地方差别还是挺大的. 下面是pyt

Jsoup 抓取页面的数据实例详解

Jsoup 抓取页面的数据 需要使用的是jsoup-1.7.3.jar包   如果需要看文档我下载请借一步到官网:http://jsoup.org/ 这里贴一下我用到的 Java工程的测试代码 package com.javen.Jsoup; import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.

asp抓取页面

<%    if trim(request.form("url"))<>"" then    dim VBody:VBody=GetResStr(trim(request.form("url")))    dim Res:Res=VBody    dim code:code=GetCode(VBody,"charset= {0,}([^ ]+) {0,}""")    end if