zoukankan      html  css  js  c++  java
  • 爬虫_斗图啦_表情包下载

    为下一个多线程练练手

     1 import requests
     2 from lxml import etree
     3 import re
     4 from urllib import request
     5 import time
     6 import os
     7 
     8 def get_html(url):
     9     headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36'}
    10     try:
    11         response = requests.get(url, headers=headers)
    12         response.raise_for_status()
    13 
    14         response.encoding = 'utf-8'
    15         return response.text
    16     except:
    17         return 0
    18 
    19 
    20 def parse_html(html):
    21     html_element = etree.HTML(html)
    22     imgs = html_element.xpath('//div[@class="page-content text-center"]//img[@class!="gif"]')
    23     for img in imgs:
    24         url = img.get('data-original')
    25         name = img.get('alt')
    26         name = re.sub('[??,。]', '', name)#看系统的命名要求了
    27         tail = os.path.splitext(url)[1] #取后缀
    28 
    29         file_name = name + tail  #拼接文件名
    30         request.urlretrieve(url, 'images/' + file_name)  #注意提前新建images文件夹
    31 
    32 
    33 def main():
    34     for i in range(1, 50):
    35         url = 'http://www.doutula.com/photo/list/?page=%d' % i
    36         html = get_html(url)
    37         while html == 0:
    38             time.sleep(2)
    39             html = get_html(url)
    40         parse_html(html)
    41         # break
    42 
    43             
    44 if __name__ == '__main__':
    45     main()

    不多说了,沙海开始了。

  • 相关阅读:
    Python3.x基础学习-静态方法和类方法
    Python3.x基础学习-@property
    Python3.x基础学习-装饰器
    SpringMVC学习(七)
    SpringMVC学习(六)
    SpringMVC学习(五)
    整合SSM(二)
    整合SSM(一)
    SpringMVC学习(四)
    SpringMVC学习(三)
  • 原文地址:https://www.cnblogs.com/MC-Curry/p/9457129.html
Copyright © 2011-2022 走看看