51Testing软件测试论坛

标题: 爬虫测试 [打印本页]

作者: 胖虎    时间: 2018-3-15 16:31
标题: 爬虫测试
  1. #coding=utf-8  
  2.   
  3. __doc__ = '''''
  4. 使用requests来简单的爬取图片,请求使用Referer,否则爬取不到正确的结果
  5. '''  
  6.   
  7. CHUNK = 1024  
  8.   
  9. import requests  
  10. import re  
  11. import os  
  12.   
  13. def download_images(x, y):  
  14.     URL_SEGMENT = '{0}/{1}'.format(x,y)  
  15.     URL_FORMAT = 'http://img.zngirls.com/gallery/%s/{0:03d}.jpg' % (URL_SEGMENT)  
  16.     URL_FORMAT0 = 'http://img.zngirls.com/gallery/%s/{0}.jpg' % (URL_SEGMENT)  
  17.   
  18.     i=0  
  19.     numbers = re.compile('\\d+/\\d+')  
  20.     rl = numbers.findall(URL_FORMAT0)  
  21.     if not rl:  
  22.         return  
  23.     dirname = rl[0].replace('/','-')  
  24.     if not os.path.isdir(dirname):  
  25.         os.makedirs(dirname)  
  26.   
  27.     while True:  
  28.         url = ''  
  29.         if i==0:  
  30.             url = URL_FORMAT0.format(i)  
  31.         else:  
  32.             url = URL_FORMAT.format(i)  
  33.   
  34.         print('url=', url)  
  35.         res = requests.get(url, headers={'Referer':'http://www.zngirls.com/g/13080/2.html',}, stream=True)  
  36.         if res.status_code != 200:  
  37.             break  
  38.   
  39.         filename = os.path.join(dirname,'{0:03d}.jpg'.format(i))  
  40.         with open(filename, mode='wb') as f:  
  41.             for chunk in res.iter_content(CHUNK):  
  42.                 f.write(chunk)  
  43.   
  44.         i += 1  
  45.   
  46. def main():  
  47.     download_images(21363, 18304)  
  48.   
  49. if __name__ == '__main__':  
  50.     main()  
复制代码



作者: 海海豚    时间: 2018-3-16 13:32
谢谢分享!
作者: libingyu135    时间: 2018-4-25 16:42
6666
作者: 梦想家    时间: 2018-5-8 10:19

作者: Miss_love    时间: 2018-5-8 13:28

作者: 梦想家    时间: 2018-5-8 13:44





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2