美文网首页
鸟与虫(一)图片,让我爬一下,就一下

鸟与虫(一)图片,让我爬一下,就一下

作者: loser_ren | 来源:发表于2018-05-25 16:27 被阅读0次
    • 分享一下我爬千图网的步骤,加深影响,如果能帮助大家的我也很开心,有什么不足的请提提意见,谢谢。

    • 就是一个简简单单的爬虫,比如什么十行做爬虫,什么最简单的爬虫实例……

    • emmm我会用到requests库,和BeautifulSoup,(正则表达式我还没有用熟(ૢ˃ꌂ˂ૢ)。)
      这两库教程也挺多,挺全,我不太熟呢还,就不多说了。

    开始:

    '''
        根据知乎大神
    
        代码作者:高佳乐
    
    '''
    
    import requests           ##导入requests库
    from bs4 import BeautifulSoup   ##导入BeautifulSoup
    qiantu = requests.get('http://www.58pic.com/')  ##requests.get是向服务器发出请求,就是,hi 服务器,我要千图网的源码
    html = qiantu.content        ##把获取的内容输出一下,不过使用content是二进制
    soup = BeautifulSoup(html,'html.parser')  ##用BeautifulSoup对HTML解析,html.parser就是解析格式是html
    print(soup.prettify())##这个是规范输出一下
    imgs = soup.select('img[class="scrollLoading"]',limit=10)##上边输出后会发现图片都在img中,然后用BeautifulSoup里的select找到img标签class是scrollLoading属性的,然后获取10个
    num = 0 #利于下边的数,我喜欢0开始,都懂得。
    for i in imgs:    ##因为上边img获取的是列表,要用遍历
      chun = i.get('data-url')##这个get(data-url)是只要属性是data-url属性的值
      print('这是%d张:%s'%(num,chun))##方便计数,i.get('data-url')是因为上边获取的是带标签的节点,
      qingqiu = requests.get(chun)##因为上边只是获取了路径,所以要向服务器请求图片的内容。
       try:                                                    ##异常处理
            fp = open('pic\\'+str(num)+'.jpg','wb')              ##fp打开一个文件,我这里没有文件就是会创建一个文件,pic\路径+num.jpg名字+wb可写模式
            fp.write(qingqiu.content)                            ##在fp里边写入qingqiu的二进制因为一张图片是由二进制组成
            fp.close()                                           ##关闭fp文件
            print('第%d张图片下载完成'%num)                         ##输出第--张图片下载完毕
            num+=1                                               ##num+1 以便记录
        except:                                                 ##异常处理
            print("这张图片不让下载")                               ##如果错误就是这张图片不让下载
    print('下载完成')                                         ##完成后是下载完毕
    
    
    

    好了我的第一个小爬虫就到这里了,有什么不足的或者错误的地方请指出。emmm下一次见

    相关文章

      网友评论

          本文标题:鸟与虫(一)图片,让我爬一下,就一下

          本文链接:https://www.haomeiwen.com/subject/hmoljftx.html