精华内容
下载资源
问答
  • import re import urllib.request import ssl ... urllib.request.urlretrieve(image,pathName) #下载图片 print("正在下载第:",x) x += 1 html = getHtml("http://588ku.com/") getImg(html)
    import re
    import urllib.request
    import ssl
    
    ssl._create_default_https_context = ssl._create_unverified_context # Python 2.7.9 之后版本引入了一个新特性:当你urllib.urlopen一个 https 的时候会验证一次 SSL 证书 ,当目标使用的是自签名的证书时就会爆出该错误消息。
    
    def getHtml(url):
        page = urllib.request.urlopen(url)
        html = page.read()
        html = html.decode('UTF-8')
        return html
    
    def getImg(html):
        reg = r'src="(.*?\.jpg)"'
        image = re.compile(reg)
        imglist = re.findall(image,html)
        print(imglist)
    
        x = 0
        for image in imglist:
            pathName = "/Users/XLaws/Documents/Image/" + str(x) + ".jpg" #设置保存路径和文件名
            urllib.request.urlretrieve(image,pathName) #下载图片
            print("正在下载第:",x)
            x += 1
    
    html = getHtml("http://588ku.com/")
    getImg(html)
    展开全文
  • pycharm 爬取校花网

    2019-01-09 00:55:00
    1 1:什么是爬虫 2 定义:狭义:模拟浏览器,浏览网页,保存数据的程序 3 定义:广义:自动下载网络数据... 5 如果 你不会写爬虫,你老板让你下载校花网的一千张图片,用了一整天,你只能另存为。那么,可能你...
      1 1:什么是爬虫
      2     定义:狭义:模拟浏览器,浏览网页,保存数据的程序
      3     定义:广义:自动下载网络数据(网页,游戏,qq)的程序
      4     打开校花网 ‘www.xiaohuar.com/hua/’    #直接爬取影响课堂秩序
      5         如果 你不会写爬虫,你老板让你下载校花网的一千张图片,用了一整天,你只能另存为。那么,可能你一天过后就被T了
      6     
      7     分析:
      8             web原理:
      9                 c/s   client,server
     10                 浏览器
     11                 服务器(server)
     12                 浏览器要获取一个网页,首先他要获取一个网址(url:统一资源定位符)。
     13                 浏览器获取到url之后,会向服务器发送一个http(网络传输协议的一种)请求
     14                 服务器会对这个请求进行处理,将处理结果返回(请求【文档,图片,视屏】,就返回相应的【文档,图片,视屏】)  #http响应
     15                 浏览器根据返回的数据,进行不同的渲染,展示给用户
     16                 基于socket    
     17 2:写一个爬虫的步骤:
     18     1.下载数据    #先下载一张
     19         1.frist_url = 'http://www.xiaohuar.com/hua/'
     20         分析网页的加载流程
     21             分类
     22                 直接的,未处理的
     23                 带参数验证
     24                 cookie验证
     25                 登录验证
     26                 js加密
     27             工具:
     28             google,火狐
     29             f12
     30             看源码
     31             选取存储地址,鼠标右键    open in new tab,复制网址链接‘http://www.xiaohuar.com/d/file/20181216/9df718a54adae448c65f54246a581a19.jpg’
     32             先测试一下
     33             pycharm:
     34                 from urllib impor request   #通过这个就可以发送请求了
     35                 url = ‘http://www.xiaohuar.com/d/file/20181216/9df718a54adae448c65f54246a581a19.jpg’
     36                 #request.urlopen(url)
     37                 response = request.urlopen(url) #用一个变量来接收
     38                 print(respomse)   #显示了一个http respomse 的对象,不是我们想要的
     39                 print(respomse.read())   #以‘b’开头的叫字节,就是二进制数据
     40                 
     41                 
     42                 #保存图片:把图片的的信息放进文件里(把大象放进冰箱需要几步)
     43                     f = open('1.jpg','wb')     #指明以二进制的模式打开,只能写入二进制数
     44                     f.write(respomse.read())
     45                     f.close()
     46                     #如果报错,因为read读取过后,把下标移到了末尾,把上面print(respomse.read())注释掉
     47                         简化一下:   #不需要我们去close了
     48                                 with open(filename,'wb') as f:
     49                                     f.write(request.urlopen(url).read())   
     50    
     51             
     52     2.分析提取有用的数据
     53         获取其他图片url
     54         开始获取所有图片:
     55             url = 'http://www.xiaohuar.com/hua/'   #url = 首页
     56             response = request.urlopen(url) #用一个变量来接收
     57                 #print(respomse)   #显示了一个http respomse 的对象,不是我们想要的
     58                 #print(response.read()) #以‘b’开头的叫字节,就是二进制数据(字节)
     59                 #print(response.read().decode('GBK'))   #转码,变成文本,加上一个字符编码#成功的获得了文档形式的网页源码
     60             改写成一句:
     61             html = 'request.urlopen(url).read().decode('GBK')'   #现在,html就是我们的页面信息
     62                             
     63         需要拿到地址的字符串:
     64         网页源代码,查找img
     65             使用正则,通过一定的规律,在文档里面来匹配符合规则的字符,获取出来
     66             import url
     67             复制几个地址过来,用来匹配
     68             #/d/file/20181216/9df718a54adae448c65f54246a581a19.jpg
     69             #/d/file/20180907/075025972927c8e7541b09e272afe5cc.jpg
     70             img_urls = re.findall(r'/d/file/\d+/\w+\.jpg',html)   #找规律  \d匹配数字 \w可以匹配字母和数字的组合,+代表多个
     71             #print(len(img_urls,img_urls[0]))            #打印操作,打印匹配出多少个,匹配出来的第一个的值
     72             》》》/d/file/20181216/9df718a54adae448c65f54246a581a19.jpg     #这个url有什么问题?没有域名
     73             img_urls = ('http://www.xiaohuar.com %s' % url for url in img_urls)    #补全操作,给他添加域名  #python先计算右边,再赋值给左边
     74             #现在,会报错,因为用了for 循环,他是一个生成器,不能使用len方法,想要查看,使用for循环img_urls,打印url
     75         #现在下载图片
     76         #用url的最后一节做名字
     77             for url in img_urls:
     78                 filename = url.split('/')[-1]      #以‘/’切片,分割之后获得一个列表,获取最后一个【-1】
     79                 #print(filename)
     80                 with open(filename,'wb') as f:
     81                     f.write(request.urlopen(url).read()) 
     82                 print(url)   #好看
     83         #多页操作
     84             点击第二页,复制url(http://www.xiaohuar.com/list-1-1.html)
     85             点击三页,复制url(http://www.xiaohuar.com/list-1-2.html)
     86             以此类推
     87             添加到文章开头url = 'http://www.xiaohuar.com/hua/'下面
     88             写最简单的方法:  
     89                 urls = ['http://www.xiaohuar.com/hua/',   #依次改一下
     90                 http://www.xiaohuar.com/list-1-1.html
     91                 http://www.xiaohuar.com/list-1-2.html
     92                 http://www.xiaohuar.com/list-1-3.html
     93                 http://www.xiaohuar.com/list-1-4.html
     94                 http://www.xiaohuar.com/list-1-5.html
     95                 ]
     96             for url in urls:    
     97                 '把刚才的代码缩进进去'
     98             
     99             很容易报错,因为没有做任何的处理,urlopen(url)如果时间超时了,或者404没有找到,就会报错
    100             
    101             代码不规范,全部都是面向过程写的,也没有异常处理
    102                 
    103                 
    104     3.保存数据
    105         
    106         
    理论知识

     

     1 from urllib import request
     2 import re
     3 url = 'http://www.xiaohuar.com/hua/'
     4 html = request.urlopen(url).read().decode('GBK')
     5 img_url =re.findall(r'/d/file/\d+/\w+\.jpg',html)
     6 for url in img_url:
     7     img_urls = 'http://www.xiaohuar.com%s ' %url
     8     filename = img_urls.split('/')[-1]
     9     with open(filename,'wb') as f :
    10         f.write(request.urlopen(img_urls).read())
    11         print()
    单页操作

     

    转载于:https://www.cnblogs.com/herosyuan/p/10242233.html

    展开全文
  • #爬取网页完成 def getData(baseurl): datalist = [] #对数据进行列表的保存 for i in range(0,10): #调用for循环对网页的第一页到第十页的读取 url = baseurl + str(i*25) html = askURL(url) ...
  • 只能再次拿出来滤了一遍,趁热打铁,通过实例来实践下,下面这篇文章主要介绍了关于Python2下载单张图片爬取网页的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 一、需求分析 1、...
  • 2、知道网页地址,将图片列表中的图片全部下载到本地。 二、准备工作 1、开发系统:win7 64位。2、开发环境:python2.7。3、开发工具:PyCharm。4、浏览器:Chrome。 三、操作步骤 A.知道图片的url地址,将图片...

     

    一、需求分析

    1、知道图片的url地址,将图片下载到本地。
    2、知道网页地址,将图片列表中的图片全部下载到本地。

    二、准备工作

    1、开发系统:win7 64位。
    2、开发环境:python2.7。
    3、开发工具:PyCharm。
    4、浏览器:Chrome。

    三、操作步骤

    A.知道图片的url地址,将图片下载到本地。
    a1、打开Chrome,随意找到一个图片网站。

     

    a2、打开开发者工具(f12键或者fn+f12键),选择第一张图片,可以看到它的src属性就是图片的地址,复制出来。

    a3、编写代码。这里需要引用urllib库以及使用Python IO相关的知识。

     

    # -*- coding:utf-8 -*
    '''
    知道图片地址,下载图片到本地
    '''
    import urllib
    
    #图片url地址
    url = 'http://p1.wmpic.me/article/2017/12/22/1513930326_ciDepIns_215x185.jpg'
    #方法一
    #获取图片数据
    res = urllib.urlopen(url).read()
    #文件要保存的路径名和文件名
    path = "e:\dlimg\pic2.jpg"
    #使用io写入图片
    f = open(path , "wb")
    f.write(res)
    f.close()
    #方法二
    res2 = urllib.urlretrieve(url , 'e:\dlimg\pic3.jpg')

    B.知道网页地址,将图片列表中的图片全部下载到本地。
    b1、还是以上面的网页为爬取对象,在该网页下,图片列表中有30张照片,获取每张图片的src属性值,再来下载即可。
    b2、利用BeautifulSoup解析网页,利用标签选择器获取每张图片的src属性值。

     

    b3、编写代码。

     

    #  -*- coding: utf-8 -*
    
    import requests
    import urllib
    from bs4 import BeautifulSoup
    
    url = 'http://www.wmpic.me/tupian/qingxin'
    res = requests.get(url)
    #使用BeautifulSoup解析网页
    soup = BeautifulSoup(res.text , 'html.parser')
    #通过标签选择器定位到图片位置(与css选择器差不多)
    pic_list = soup.select('.item_box .post a img')
    i = 0
    for img_url in pic_list:
        #获取每个img标签的src属性
        url_list = img_url['src']
        #保存路径,后面是文件名
        save_path = 'E:\dlimg\\'+'downloadpic_'+str(i)+'.jpg'
        #解析图片,写入到本地
        pic_file = urllib.urlopen(url_list).read()
        f = open(save_path, "wb")
        f.write(pic_file)
        f.close()
        i = i+1

    C.运行结果(红色框中pic2.jpg和pic3.jpg是A步骤运行结果,其余以downloadpic_*.jpg命名的图片是步骤B的运行结果)

     


    文章首发于我的个人公众号:程序员小川喜欢分享一路上听过的歌,看过的电影,读过的书,敲过的代码,深夜的沉思。期待你的关注!

    展开全文
  • 闲来无事学习了python爬虫,xpath真是一个简单好用的工具,给我的LSP室友找一些符合他口味的图片。现在开始爬虫,所需工具:一台能上网并且可以运行python的电脑,python IDE(推荐pycharm或者anaconda),anaconda...

    python批量爬取网页图片(requests,xpath)

    闲来无事学习了python爬虫,xpath真是一个简单好用的工具,给我的LSP室友找一些符合他口味的图片。现在开始爬虫,所需工具:一台能上网并且可以运行python的电脑,python IDE(推荐pycharm或者anaconda),anaconda中集成了大量的python第三方库,对于我这种新手还是比较友好的),需要用到的第三方库:requests,lxml,os,time。

    **

    第一步:请求网页

    **
    首先使用requests库中的get函数访问自己想要爬取数据的网页,得到网页数html数据。通常要加上请求头。
    进入网页之后,检查网页源代码,在notework下header获取请求头
    ,在这里插入图片描述
    代码如下

    url = "https://www.99tu.com/mz/siwameitui/29_5.html" 
    header = {"User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36'}
    repounse = requests.get(url,headers=header)
    content = repounse.content.decode('utf-8')
    

    **

    第二步:利用xpath获取图片地址和名称

    **
    什么是XPath?

    XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。
    W3School官方文档:http://www.w3school.com.cn/xpath/index.asp

    XPath 开发工具

    开源的XPath表达式编辑工具:XMLQuire(XML格式文件可用) Chrome插件 XPath Helper Firefox插件
    XPath Checker

    选取节点

    XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。 这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。

    路径表达式:
    在这里插入图片描述
    具体操作:在浏览器中打开开发者模式,使用插件Chrome插件 XPath Helper,找到图片的src地址和alt名称。xpath helper是以一个非常好用的开发者工具,可以在网页上找到你想要的信息,无需在程序中验证。
    在这里插入图片描述
    找到图片的src和alt之后,使用for循环遍历每一张图片的链接和名称。

    代码如下:

    html = etree.HTML(response.text)
    img_src=html.xpath('//ul[@class="clearfix"]/li/a/img/@src')
    img_alt = html.xpath('//ul[@class="clearfix"]/li/a/p/text()')
    for src,name in zip(img_src,img_alt):
        print(src)
        print(name)
    

    第三步:下载图片并保存本地

    使用os库,创建文件夹并保存到本地路径,我保存在D盘下,名为LSP的文件夹中

    代码如下:

    root = "D://LSP//"#保存路径
    	path=root+name.split('/')[-1]#使用图片的alt为命名
    	if not os.path.exists(root):
    	    os.mkdir(root)
    	if not os.path.exists(path):
    	    r = requests.get(src)
    	    r.raise_for_status()
    	    with open(path,'wb') as f:
    		f.write(r.content)
    		print('爬取成功')
    

    主程序:

    根据网页url的规律,循环爬取前50页的图片,并保存至本地

    if __name__ == '__main__':
        indexa=1
        for i in range(1,30):
            url='https://www.99tu.com/mz/siwameitui/29_{}.html'.format(i)
            print('这是第'+str(indexa)+"页数据")
    	    indexa=indexa+1
    	    get_html(url)
    	    time.sleep(2)
    

    完整代码:

    将请求网页,获取图片信息,保存图片等步骤封装函数,time是为了设置休眠时间,防止网站远程拒绝访问。(在运行中发现,好像不能用alt名称命名,就把这个部分删掉了。。。希望懂得大佬帮忙解决一下,感谢!!!

    import requests
    from lxml import etree
    import time
    import os
    def download_pic(src):
        root = "D://LSP//"
        path=root+src.split('/')[-1]
        if not os.path.exists(root):
    	os.mkdir(root)
        if not os.path.exists(path):
    	r = requests.get(src)
    	r.raise_for_status()
    	with open(path,'wb') as f:
    	    f.write(r.content)
    	    print('爬取成功')
    def get_html(url):
        response = requests.get(url)
        response.encoding='gbk'
        html = etree.HTML(response.text)
        img_src=html.xpath('//ul[@class="clearfix"]/li/a/img/@src')
        for src in img_src:
    	print(src)        
    	download_pic(src)
    
    indexa=1
    for i in range(1,30):
        url='https://www.99tu.com/mz/siwameitui/29_{}.html'.format(i)
        print('这是第'+str(indexa)+"页数据")
        indexa=indexa+1
        get_html(url)
        time.sleep(2)
    print('下载完成')
    
    展开全文
  • 爬取一个小说网站,同样的几行代码,在命令行运行没有问题,在Pycharm中运行就没有正文内容,使用的是requests库 ![图片说明](https://img-ask.csdn.net/upload/202010/12/1602475713_547100.jpg)![图片说明]...
  • Python爬取网页图片数据

    千次阅读 2018-11-09 17:08:12
    本案例是基于PyCharm开发的,也可以使用idea。 在项目内新建一个python文件TestCrawlers.py TestCrawlers.py # 导入urllib下的request模块 import urllib.request # 导入正则匹配包 import re # -*- encoding:utf-8...
  • 爬取某知名网站图片(爬取动态网页)python爬取动态网页图片欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的...
  • 今天小编给大家提供一份零基础Python爬取网页图片以及小说的代码并且详细的和大家讲解一下! 开发环境: 版本Python3.6.2!(2版本会在20年的时候停止更新库,建议大家现在想学习的话可以学习3版本,但是不建议用...
  • 01-windows下python爬取网页上的图片

    千次阅读 2018-02-02 16:04:34
    pycharm、anaconda的下载与安装 移步各个主页下载,一键式安装。 - pycharm: http://www.jetbrains.com/pycharm/ - anaconda: https://www.anaconda.com/download/ 2。pycharm的安装 下载软件: pycharm-...
  • python爬虫事最方便最快捷的,今天给大家带来爬取网页,看看速度会有多快,爬取数据,基本都是通过网页的URL得到这个网页的源代码,根据源代码筛选出需要的信息 二、使用环境和使用库 IDE:PyCharm 库:requ
  • 今天使用scrapy框架爬取一个网页图片时,遇到DEBUG: Redirecting (302) to <网址1> from <网址2> 的问题。网址1是重定向的网址,网址2是原网址。 用鼠标点击pycharm中的网址1,就进入该页面: ![图片说明]...
  • python爬虫之爬取网页

    2016-06-12 21:31:19
    本文代码源自 Python爬虫抓取网页图片 希望读者点击原文进行阅览,本人使用Python2.7+Pycharm编译正常 本文采用Markdown格式编写# -*- coding: utf-8 -*- import urllib import re import time import os#显示下载...
  • 一、环境 Windows 10、PyCharm 社区版本、... Python爬虫爬取网页图片(坑) 本来参考这个教程,没想到Python3不能使用python2 的库,有很多地方需要修改: 参考:Python基础学习-'module' object has n...
  • 简要的实现实现Python爬虫爬取百度贴吧页面上的图片,下面的网页就是本篇博客所要爬的网页,当然看到的只是其中的一部分图片,是所要爬取的页面,而下图则是最终的爬取图片:接下来就简要的讲讲爬取的整个过程:...
  • IDE: pycharm一 前言 二 Scrapy相关方法介绍 1 搭建Scrapy项目 2 shell分析 三 网页分析 四 Scrapy程序编写 1 spider测试 2 item编写 3 Pipelines编写 4 spider完整代码实现 5 settings 汇总 五 小结一 、前言上一...
  • 一,首先看看Python是如何简单的爬取网页的 1,准备工作 项目用的BeautifulSoup4和chardet模块属于三方扩展包,如果没有请自行pip安装,我是用pycharm来做的安装,下面简单讲下用pycharm安装chardet和BeautifulSoup4...
  • python3爬取百度图片

    2020-08-31 12:16:46
    一.需要工具 ...XHR,然后鼠标移到有图片网页上,滑轮向下划几下,会出现acjson关键字的信息,这些就是由js控制生成的网页信息。找出两段带acjson的信息,点开 Headers,找到下面的Query String Parament
  • # -*- coding: utf-8 -*- # @Time : 2018/03/08 10:32 # @Author : cxa # @File : gethtmlandimg.py ...# @Software: PyCharm import requests from fake_useragent import UserAgent as UA fro...
  • 爬虫的基本思路都是获取某一url的网页的字符串,然后可以通过正则,beautifulsoup或者这里使用的PyQuery来进行解析。图片一般都是以链接的形式出现在html文本中,因此只需要找到图片连接即可(一般是在img src中),...
  • xpath爬取图片

    2020-11-30 21:33:53
    #-*- codeing = utf-8 -*- ...#@Software: PyCharm import requests from lxml import etree import os ''' 思路: 1.UA伪装 2.获取url 3.将获取网页的转成text格式 (requests.get) 4.将text转成对应的html
  • 本来使用的是python3配合pycharm,但是编码问题一直有问题, 最开始时是: TypeError: cannot use a string pattern on a bytes-like object 知道可能是因为python3read()返回的是bytes值而不是string值 加encode...
  • Python 爬虫 之 爬虫的一些基本知识和基本操作(爬取视频、图片、获取网页源码等)整理 目录 Python 爬虫 之 爬虫的一些基本知识和基本操作(爬取视频、图片、获取网页源码等)整理 一、简单介绍 二、文件头的...
  • pycharm 编辑器 一、先分析百度贴吧网页爬取头像为例,先打开头像吧网址 http://tieba.baidu.com/f?kw=头像&ie=utf-8&pn=0 按F12或右键->检查打开开发者中心,查看头像的图片地址 使用正则匹配出...
  • 最近在学习Python,给自己找了一个任务,做网站文章的爬虫小项目。 ...一,首先看看Python是如何简单的爬取网页的 1,准备工作 项目用的BeautifulSoup4和chardet模块属于三方扩展包,如果没有请...
  • 今天教大家爬取优美图库网站中高质量的图片!! 简单易上手哦~ 使用工具: Python 3.6 pycharm 相关环境: requests parsel xpath 主要内容: 1、系统分析目标网页 2、html标签数据解析方法(xpath) 3...
  • 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 项目目标 主播照片 目标地址 https://www.huya.com/g/2168 基本环境配置 python 3.6 pycharm ...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 155
精华内容 62
关键字:

pycharm爬取网页图片

pycharm 订阅