今天这个爬虫比较简单,爬了一下花瓣网(美女图)的一页的图片。
这里只用了正则,主要思想是:利用正则匹配要爬取的图片url,然后下载图片存到本地;
下面是具体的代码:

# encoding = utf-8
import re
import urllib
import requests#获取图片的url
def getHtml(url):page = urllib.request.urlopen(url)html= page.read()return html
#获取网页的内容
html = getHtml('http://huaban.com/boards/481662/')
#正则匹配
p= r'<img src="([.*\S]*)" width="\d{3}"'
imgurls = re.findall(p, html.decode('utf-8'))#爬取图片
x=1
for imgurl in imgurls:print('http:'+imgurl)urllib.request.urlretrieve('http:'+imgurl, 'F:images/huaban/%s.jpg' % x)print("downloading %d"%x)x +=1

下面是爬到的图片:


因为这个页面的图片是下拉加载的,所以暂时只下载了40张,这个问题还在学习,希望有前辈指导一二;
写的比较糙,有问题麻烦爬友们指出。
这里小弟写的时候有2个小问题:
1、正则的匹配,方式很简单易懂,开始使用可能不太容易匹配成功,要反复多试几次才能熟练掌握;
2、imgurls = re.findall(p, html.decode('utf-8'))这里如果没有带.decode(‘utf-8’),
就报错TypeError: cannot use a string pattern on a bytes-like object
3、正则的一些基本用法:
1)re.search(pattern, string, flags=0)
在字符串中查找,是否能匹配正则表达式。返回_sre.SRE_Match对象,如果不能匹配返回None。
2)re.match(pattern, string, flags=0)
字符串的开头是否能匹配正则表达式。返回_sre.SRE_Match对象,如果不能匹配返回None。
3)re.split(pattern, string, maxsplit=0)
通过正则表达式将字符串分离。如果用括号将正则表达式括起来,那么匹配的字符串也会被列入到list中返回。maxsplit是分离的次数,maxsplit=1分离一次,默认为0,不限制次数。
4、其他的一些正则的用法总结:
1、正则表达式
2、Python之re模块 —— 正则表达式操作
3、Python正则式的基本用法

爬虫基础_01——正则相关推荐

  1. Python学习笔记(八)爬虫基础(正则和编解码)

    知识点 正则 正则匹配url,引用re库,将需要匹配的字段用(.*?)来匹配,可以匹配任何字符串.如果有换行,可以用如下方式解决: 1. ([\s\S]*?) 2. re.findall(reg,ht ...

  2. 【杂谈】爬虫基础与快速入门指南

    今天给大家分享一下网络爬虫的基础知识,以及一些优秀的开源爬虫项目.网络爬虫主要是我们在面对新的任务,但自己又没有数据的时候,获取自己想要的数据的一种手段.因此我们有必要掌握一定的爬虫知识,从而更好的准 ...

  3. Python应用实战- 爬虫基础入门知识必会

    0.爬虫基础流程 把爬虫的过程模块化,基本上可以归纳为以下几个步骤: [√] 分析网页URL:打开你想要爬取数据的网站,然后寻找真实的页面数据URL地址: [√] 请求网页数据:模拟请求网页数据,这里 ...

  4. Python基础知识回顾及scrapy框架爬虫基础

    1.函数 函数参数:必须 默认 关键 可变 函数种类:外部 内部 匿名 lambda 装饰函数:@语法糖 函数总是要返回的 ,若没有return,None总是被返回   2.面向对象: 对象:已存在, ...

  5. python入门指南txt-【杂谈】爬虫基础与快速入门指南

    今天给大家分享一下网络爬虫的基础知识,以及一些优秀的开源爬虫项目.网络爬虫主要是我们在面对新的任务,但自己又没有数据的时候,获取自己想要的数据的一种手段.因此我们有必要掌握一定的爬虫知识,从而更好的准 ...

  6. 爬虫基础篇之IP代理池

    代理池介绍 由众多ip组成提供多个稳定可用代理IP的ip池. 当我们做爬虫时,最常见的反爬手段就是IP反爬,当同一个IP访问网站超出频控限制,将会被限制访问,那么代理IP池应运而生.资金充足的情况下个 ...

  7. 【爬虫基础】Python爬虫

    Python爬虫基础 对象序列化 对象序列化 序列化 对象序列化 程序运行时能将内存中的对象.信息直接保存下来的机制,称为对象序列化 对象反序列化 将保存的数据读取并转换为存储区域的对象信息,称之为对 ...

  8. Python进阶--网络爬虫基础

    Python网络爬虫基础 一.网络请求 ProxyHandler处理器(代理): request库 发送get请求: 发送post请求: 使用代理 requests 处理cookie 信息.处理不信任 ...

  9. python_爬虫基础学习

    --王宇阳-根据mooc课程总结记录笔记(Code_boy) Requests库:自动爬去HTML页面.自动网络请求提交 robots.txt:网络爬虫排除标准 Beautiful Soup库:解析H ...

  10. 小白必学的爬虫基础(二)

    爬虫基础知识 网络爬虫 爬虫可以解决的问题 爬虫工程师的进阶之路 搜索引擎 搜索引擎的主要组成 搜索引擎的工作流程 搜索引擎的局限性 聚焦爬虫 爬虫准备工作 robots协议 sitemap–网站地图 ...

最新文章

  1. 【ARM】ARM汇编程序设计(五) str和ldr
  2. jaxb 映射 空字段_推土机:将JAXB对象映射到业务/域对象
  3. [SDOI 2010]外星千足虫
  4. linux 程序占内存,linux下,一个运行中的程序,究竟占用了多少内存
  5. (转)Arcgis for Js之鼠标经过显示对象名的实现
  6. 平面设计背景素材|打造超酷的炫彩光束光效海报!
  7. java二级题库软件_无忧考吧二级JAVA超级模拟软件
  8. 大数据该挖掘,主要挖掘什么,什么是文本挖掘?
  9. java理论笔试题_Java基础笔试题及答案
  10. 华为网络设备调试命令(日常总结)
  11. 百度云BOS上传文件并返回文件地址
  12. 校招----小米一面面经
  13. nginx 正向代理http和https
  14. Excel软件的使用指南
  15. Unity UGUI图文混排(七) -- 下划线
  16. ORACLE 取唯一数据
  17. iOS 内存泄漏检测 Instruments Leaks
  18. 笔记本电脑常用的快捷键
  19. edb的安装与使用计统第二次实验
  20. Webpack基础应用篇 -[9]管理资源(下)

热门文章

  1. ABAP Enhancement
  2. [译]eBay Elasticsearch性能调优实践
  3. OJ 2311 Problem A Orange
  4. android_基础_修改系统背景(状态栏颜色、导航栏颜色、标题栏颜色等等)
  5. 微信小程序快速提升独立访客方法
  6. 电脑远程桌面连接怎么操作?
  7. 如何在 R 中找到卡方临界值
  8. Mac电脑进入恢复模式详细教程
  9. 【题库】上海市学校心理咨询师-普通心理学-考点解析 13.3 性格测量
  10. 【细小碎的oi小知识点总结贴】不定时更新(显然也没人看qwq)