Python爬取百度贴吧图片

一、获取URL

  Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。首先,我们定义了一个getHtml()函数:

  urllib.urlopen()方法用于打开一个URL地址。

  read()方法用于读取URL上的数据,向getHtml()函数传递一个网址,并把整个页面下载下来。执行程序就会把整个网页打印输出。

二、查看图片地址

 

  我们又创建了getImg()函数,用于在获取的整个页面中筛选需要的图片连接。re模块主要包含了正则表达式:

  re.compile() 可以把正则表达式编译成一个正则表达式对象.

  re.findall() 方法读取html 中包含 imgre(正则表达式)的数据。

   运行脚本将得到整个页面中包含图片的URL地址。

  下面是图片url。

三、保存数据到本地

import urllib
import re
def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html

def getImg(html):
    # 原来 pic-ext前面少了个空格打印出来 []
    reg = r'src="(.+?\.jpg)" pic_ext'
    imgre = re.compile(reg)
    imglist = re.findall(imgre,html)
    x = 0
    for imgurl in imglist:
        urllib.urlretrieve(imgurl,'%d.jpg' %x)
        x+=1

html = getHtml("http://tieba.baidu.com/p/4058560157")

print getImg(html)

  保存的图片在该py文件的桶一目录,如何设置其他保存路径呢,在urlretrieve的最后%x那设置,然后,我不知道怎么设置。

时间: 2024-11-03 06:41:02

Python爬取百度贴吧图片的相关文章

Python爬取淘宝模特图片网络爬虫示例

为了爬取模特的图片,我们首先要找到各个模特自己的页面.通过查看网页源码,我们可以发现,模特各自的页面的特点如下: 我们可以通过查找class属性为lady-name的标签,然后取其href属性来获取各个模特各自的页面地址. 1 html = urlopen(url) 2 bs = BeautifulSoup(html.read().decode('gbk'),"html.parser") 3 girls = bs.findAll("a",{"class&q

python爬取NUS-WIDE数据库图片_python

实验室需要NUS-WIDE数据库中的原图,数据集的地址为http://lms.comp.nus.edu.sg/research/NUS-WIDE.htm   由于这个数据只给了每个图片的URL,所以需要一个小爬虫程序来爬取这些图片.在图片的下载过程中建议使用VPN.由于一些URL已经失效,所以会下载一些无效的图片. # PYTHON 2.7 Ubuntu 14.04 nuswide = "$NUS-WIDE-urls_ROOT" #the location of your nus-wi

Python爬取三国演义的实现方法_python

本文的爬虫教程分为四部:      1.从哪爬 where      2.爬什么 what      3.怎么爬 how      4.爬了之后信息如何保存 save 一.从哪爬 三国演义 二.爬什么 三国演义全文 三.怎么爬 在Chrome页面打开F12,就可以发现文章内容在节点 <div id="con" class="bookyuanjiao"> 只要找到这个节点,然后把内容写入到一个html文件即可. content = soup.find(&q

教你用python3根据关键词爬取百度百科的内容_python

前言 关于python版本,我一开始看很多资料说python2比较好,因为很多库还不支持3,但是使用到现在为止觉得还是pythin3比较好用,因为编码什么的问题,觉得2还是没有3方便.而且在网上找到的2中的一些资料稍微改一下也还是可以用. 好了,开始说爬百度百科的事. 这里设定的需求是爬取北京地区n个景点的全部信息,n个景点的名称是在文件中给出的.没有用到api,只是单纯的爬网页信息.  1.根据关键字获取url 由于只需要爬取信息,而且不涉及交互,可以使用简单的方法而不需要模拟浏览器. 可以直

Python爬虫爬取百度贴吧多线程版

XPath提取内容 //定位根节点 / 往下层寻找 提取文本内容:/text() 提取属性内容 : /@XXXX 常规匹配 #-*-coding:utf8-*- from lxml import etree html = ''' <!DOCTYPE html> <html> <head lang="en">     <meta charset="UTF-8">     <title>测试-常规用法</

浅谈Python爬取网页的编码处理_python

背景 中秋的时候一个朋友给我发了一封邮件说他在爬链家的时候发现网页返回的代码都是乱码让我帮他参谋参谋(中秋加班真是敬业= =)其实这个问题我很早就遇到过之前在爬小说的时候稍微看了一下不过没当回事其实这个问题就是对编码的理解不到位导致的. 问题 很普通的一个爬虫代码代码是这样的 # ecoding=utf-8 import re import requests import sys reload(sys) sys.setdefaultencoding('utf8') url = 'http://j

python3 爬取https指向的图片链接 问题

问题描述 python3 爬取https指向的图片链接 问题 初学python爬虫部分,昨天动手做了做爬取网页图片并且下载的小程序.发现网页中有的图片可以被下载并且保存在本地,有的却不能.查看了下网页代码原来可以被爬取的是而不能被爬取的是用urllib包好像处理不了 请问如何解决 附上程序报错提示Traceback (most recent call last): File ""D:Python34liburllib equest.py"" line 1182 in

python抓取百度首页的方法

  本文实例讲述了python抓取百度首页的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import urllib def downURL(url,filename): try: fp=urllib.urlopen(url) except: print('download error') return 0 op=open(filename,'wb') while 1: s=fp.read() if not

python爬取页面数据错误,连续爬很多页数。我主要改变的是post里面的参数pageno

问题描述 python爬取页面数据错误,连续爬很多页数.我主要改变的是post里面的参数pageno 爬数据的时候,比如有800页数据要爬,爬到400多页会出现返回400错误,没有数据.但是如果将程序从400页到800再重新爬,又不会报错. 求解决方法