python爬虫
来源:互联网 发布:christopher bu知乎 编辑:程序博客网 时间:2024/06/08 13:17
1.获取整个页面数据 pageAll.py
#coding=utf-8import urllibimport redef getHtml(url): page = urllib.urlopen(url) html = page.read() return htmlhtml = getHtml("http://tieba.baidu.com/p/2460150866")print htmlUrllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。首先,我们定义了一个getHtml()函数:
urllib.urlopen()方法用于打开一个URL地址。
read()方法用于读取URL上的数据,向getHtml()函数传递一个网址,并把整个页面下载下来。执行程序就会把整个网页打印输出。
2.筛选页面中想要的信息(正则表达式)获取页面图片
import reimport urllibdef getHtml(url): page = urllib.urlopen(url) html = page.read() return htmldef getImg(html): reg = r'src="(.+?\.jpg)" pic_ext' imgre = re.compile(reg) imglist = re.findall(imgre,html) return imglist html = getHtml("http://tieba.baidu.com/p/2460150866")print getImg(html)我们又创建了getImg()函数,用于在获取的整个页面中筛选需要的图片连接。re模块主要包含了正则表达式:
re.compile() 可以把正则表达式编译成一个正则表达式对象.
re.findall() 方法读取html 中包含 imgre(正则表达式)的数据。
运行脚本将得到整个页面中包含图片的URL地址。
3.将页面筛选的数据保存到本地#coding=utf-8import urllibimport redef getHtml(url): page = urllib.urlopen(url) html = page.read() return htmldef getImg(html): reg = r'src="(.+?\.jpg)" pic_ext' imgre = re.compile(reg) imglist = re.findall(imgre,html) x = 0 for imgurl in imglist: urllib.urlretrieve(imgurl,'%s.jpg' % x) x+=1html = getHtml("http://tieba.baidu.com/p/2460150866")print getImg(html)这里的核心是用到了urllib.urlretrieve()方法,直接将远程数据下载到本地。
通过一个for循环对获取的图片连接进行遍历,为了使图片的文件名看上去更规范,对其进行重命名,命名规则通过x变量加1。保存的位置默认为程序的存放目录。
阅读全文
1 0
- python爬虫-->爬虫基础
- [爬虫] Python爬虫技巧
- Python爬虫
- python 爬虫
- python 爬虫
- python 爬虫
- python爬虫
- Python爬虫
- Python爬虫
- python 爬虫
- Python爬虫
- python爬虫
- python 爬虫
- python 爬虫
- python爬虫
- python爬虫
- python爬虫
- python 爬虫
- 一个线程安全的std::map封装
- for表达式的语句执行顺序?
- 基于Android Studio的Android内存泄漏检测方法
- JavaScript窗口
- C++中堆和栈的介绍
- python爬虫
- Unable to load native-hadoop library spark-cluster模式相关错误
- 算法导论之动态规划之最大子数组
- nginx搭建图片服务器
- jquery-i18n-properties国际化(最简单案例)
- AdaBoost(Adaptive Boosting 自适应提升)算法
- java多线程通信方法
- 监听器开始线程执行的方法
- javascript里function之前加上感叹号 ' ! ' 会怎么样?