用Python3提取网页中的超链接

最近有朋友给我指出,我此前写的博文《用Python提取网页中的超链接》(原文地址:http://www.sunbloger.com/article/442.html)中,给出的代码在Python3下运行报错。下面给出在Python3的代码写法:

import urllib.request
import re
 
url = 'http://www.sunbloger.com/'
 
req = urllib.request.urlopen(url)
doc = req.read()
doc = doc.decode('utf-8')
 
links = re.findall(r'href\=\"(http\:\/\/[a-zA-Z0-9\.\/]+)\"', doc)
for a in links:
    print(a)

 

阳光部落原创,更多内容请访问http://www.sunbloger.com/

用Python提取网页中的超链接

最近正在学习Python,打算用作爬虫开发。既然要做爬虫,首先就要抓取网页,并且从网页中提取出超链接地址。

下面是最简单的实现方法,先将目标网页抓回来,然后通过正则匹配a标签中的href属性来获得超链接,代码如下:

import urllib2
import re

url = 'http://www.sunbloger.com/'

req = urllib2.Request(url)
con = urllib2.urlopen(req)
doc = con.read()
con.close()

links = re.findall(r'href\=\"(http\:\/\/[a-zA-Z0-9\.\/]+)\"', doc)
for a in links:
    print a

阳光部落原创,更多内容请访问http://www.sunbloger.com/

在Linux/CentOS中编译安装Python

心血来潮,想学习一下Python,听说用来做爬虫还不错。先从运行环境开始入手,CentOS中已经内置了Python,但版本似乎比较老,通过python -V命令看到版本是2.4.3。目前Python 2.x的最新版本号是2.7.8,那么就开始动手升级一下。

首先,下载源码包,命令如下:

wget --no-check-certificate https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz

这里需要特别注意一下,因为下载网址是https开头的,所以要给wget命令加上–no-check-certificate参数。

下载好源码包后,解压:

tar -zxvf ./Python-2.7.8.tgz

解压出Python-2.7.8这个目录后,我们开始对源码进行编译:

cd Python-2.7.8
./configure --prefix=/usr/local/python
make
make install

编译安装完成后,要替换掉系统自带的Python,但CentOS的yum依赖于Python工作,为了保证yum的正常运行,我们要在替换前,先将自带的Python更名备份,方法如下:

mv /usr/bin/python /usr/bin/python-2.4.3
ln -s /usr/local/python/bin/python /usr/bin/python

上面两行命令执行完后,可以分别用“python -V”和“/usr/bin/python-2.4.3 -V”来验证部署是否成功,正确的结果应该是2.7.8和2.4.3。

最后,要修改yum,让其运行指向旧的版本:

vi /usr/bin/yum

将第一行中的“#!/usr/bin/python”修改为“#!/usr/bin/python-2.4.3”,保存即可。

 

阳光部落原创,更多内容请访问http://www.sunbloger.com/