开发者社区> 余二五> 正文

python写网络爬虫

简介:
+关注继续查看

注:本文旨在练习正则表达式的简单使用方法

#!/usr/bin/evn python

# -*- coding: cp936 -*-

import re                  #导入正则表达式模块
import urllib              #导入urllib模块,读取页面与下载页面需要用到

def getHtml(url):           #定义getHtml()函数,用来获取页面源代码
    page = urllib.urlopen(url)    #urlopen()根据url来获取页面源代码
    html = page.read()           #从获取的对象中读取内容
    return html

def getImage(html):  #定义getImage()函数,用来获取图片地址并下载
    reg = r'src="(.*?\.jpg)" width'   #定义匹配图片地址的url的正则表达式
    imgre = re.compile(reg)   #对正则表达式进行编译,运行效率更高
    imagelist = imgre.findall(html)  #使用findall()查找html中匹配正则表达式的图片url
    x = 0
    for imageurl in imagelist:
        urllib.urlretrieve(imageurl,'picture_%s.jpg' % x)  #urlretrieve()下载文件
        x +=1

uri = raw_input("请输入网址: ")
r = r'^http://'
if re.match(r,uri):
    html2 = getHtml(uri)
else:
    html2 = getHtml("http://" + uri)
getImage(html2)

运行脚本test.py

抓取到的图片如下:





本文转自 baiying 51CTO博客,原文链接:http://blog.51cto.com/baiying/1169299,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
python在网络爬虫领域的应用
重点分析下python在网络爬虫领域的应用。
17 0
Python编程:PyThink数据库交互模块提高爬虫编写速度
Python编程:PyThink数据库交互模块提高爬虫编写速度
14 0
「Python」爬虫-10.代理与常见报错
本文就关于爬虫**代理**以及在爬虫过程中可能出现的**报错**做一个汇总。
86 0
「Python」爬虫-9.Scrapy框架的初识-公交信息爬取
本文将讲解如何使用scrapy框架完成北京公交信息的获取。
209 0
「Python」爬虫-8.断点调试-网易云评论爬取
>通过前面几篇文章的学习,这里我们以爬取网易云评论为例,来进行一次综合实战。本文涉及到的知识点主要是断点调试,讲述如何模拟加密。
170 0
「Python」爬虫-7.验证码的识别
> 本文主要介绍如何处理一些网页中简单的验证码问题。~~(只提供简单的思路,随着技术的发展,一些验证码已经防范的非常好了,一般的解决方法可能过不了验证码这一关🤺~~
99 0
「Python」爬虫-6.爬虫效率的提高
> 本文主要介绍如何提高爬虫效率的问题,主要涉及到的知识为多线程、线程池、进程池以及协程等。
31 0
「Python」爬虫-5.m3u8(视频)文件的处理
>本文主要讲解了如何下载m3u8的视频文件到本地,加密解密,将ts文件合并为一个mp4文件三个知识点。
134 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
给运维工程师的Python实战课
立即下载
Python 脚本速查手册
立即下载
Python第五讲——关于爬虫如何做js逆向的思路
立即下载