zoukankan      html  css  js  c++  java
  • 爬取xiachufang图片试手

    __author__ = 'Administrator'
    # -*- encoding=gbk -*-
    import requests
    import os
    from bs4 import BeautifulSoup
    from urllib.parse import urlparse
    
    r=requests.get('http://xiachufang.com/')
    soup=BeautifulSoup(r.text)
    img_list=[]
    for img in soup.select('img'):
        if img.has_attr('data-src'):
            img_list.append(img.attrs['data-src'])
        else:
            img_list.append(img.attrs['src'])
    image_dir=os.path.join(os.curdir,'images')
    print(image_dir)
    print(os.curdir)
    if not os.path.isdir(image_dir):
        os.makedirs(image_dir)
    for img in img_list:
        o=urlparse(img)
        filename=o.path[1:].split('@')[0]
        filepath=os.path.join(image_dir,filename)
        print(img.split('?')[0].split('@')[0])
        resp=requests.get(img.split('?')[0].split('@')[0])
        with open(filepath,'wb') as f:
            for chunk in resp.iter_content(1024):#设置写入缓存块大小
                f.write(chunk)
    urllib
        python3标准库
            parse
            from urllib.request import urlopen
            r=urlopen("http://httpbin.org/get")
            r.read()#得到二进制内容
            text=r.read().decode("utf-8")#解码一下得到字符串,因为在这个网站里面得到的内容是JSON格式的内容,可以用一个json.loads(r)
            r.status#返回胡请求结果200
            r.reson#描述信息
            dir(r)#得到全部的方法,所有的对象都有这一个方法
            r.headers#得到头信息
            
                
    xpath  是一门在xml文档中查找信息的语言
    概念
        节点
            元素、属性、文本、合名空间、文档(根)节点
        节点关系
            父
            子
            同胞
            先辈
            后代
        表达式    
        //        从任意子节点选取
        /        从根切点选取
        。        从当前节点选取
        。。    当前节点的父节点
        @取属性
  • 相关阅读:
    CDE 快捷键
    shell 快捷键
    Monitor 问题
    vim 编辑快捷键
    MySQL 的include lib文件夹找不到怎么
    深入分析C++引用
    vim 查找匹配字符串次数
    如何配置Vim背景色以及字体?
    vim中字体和配色方案设置
    C#设置richtextbox滚动到最后一行
  • 原文地址:https://www.cnblogs.com/xupanfeng/p/11706108.html
Copyright © 2011-2022 走看看