Python简单爬虫实例

前刚接触python,看了一下基本语法,照着网上的一篇博客写了个很简单的爬虫小demo,有兴趣的可以看下

实现,将一个网页中的所有jpg图片,及网页中所有.html格式的跳转链接中的jpg文件取出来保存到本地
主要用到一个urllib库,使用很简单,用于读取网页内容,和直接从网络下载图片(感觉这个库很屌的样子)
还有就是一些正则验证,用于筛网页中选想要的内容
直接贴代码:

#coding=utf-8
import urllib,threading
import re

x = 0
# 读取网页内容
def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html

# 获取html所有.html的跳转链接
def getHtmlUrl(html):
    # 定义正则  href="任意数量的任意字符+ .html"
    reg = r'href="(.+?\.html)"'
    urlreg = re.compile(reg)
    #提取所有.html链接
    urllist = re.findall(urlreg,html)
    return urllist

#取出每个链接中的 .jpg文件
def getImgs(urlList):
    # 遍历数组中的所有链接
    for url in urlList:
        #获取每个链接html的内容
        html=getHtml(url)
        getImg(html)

#取出某个html页面的所有.jpg链接 并保存到本地 
def getImg(html):
    global x
    # 定义正则 src="任意数量的任意字符+ .jpg"
    reg = r'src="(.+?\.jpg)"'
    imgre = re.compile(reg)
    # 得到所有图片链接
    imglist = re.findall(imgre,html)
    for imgurl in imglist:
            # 将文件下载到本地
            urllib.urlretrieve(imgurl,'D:\images\%s.jpg' % x)
            x+=1

html = getHtml("http://news.baidu.com/")
#先取出当前页的图片
getImg(html)
# 再取出所有链接html中的图片
urlList = getHtmlUrl(html)
getImgs(urlList)

然后执行python文件(这里有报错,好像是取出的图片链接有几个取不到):

这里写图片描述

打开之前指定的文件夹,图片已经都下载下来了!
这里写图片描述

猜你喜欢

转载自blog.csdn.net/Mr_Sk/article/details/52083482