鱼C论坛

 找回密码
 立即注册
查看: 1975|回复: 8

[技术交流] 【业余党】我也来分享一个妹纸图爬虫,大家多指点

[复制链接]
发表于 2018-3-18 18:46:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Pear1994 于 2018-3-18 18:57 编辑

有点烂,,,凑合着看吧



  1. import requests
  2. import os
  3. from lxml import etree
  4. import re


  5. headers = {
  6.     'Referer': 'http://www.mmjpg.com/mm/',
  7.     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'
  8. }

  9. path = os.getcwd() + '\img'


  10. def get_index():
  11.     r = requests.get('http://www.mmjpg.com', headers=headers)
  12.     r.encoding = 'utf-8'
  13.     html = r.text
  14.     selector = etree.HTML(html)
  15.     content = selector.xpath('//li/a')[0]
  16.     num = content.xpath('@href')[0]
  17.     num = num.split('/')
  18.     num = int(num[-1])
  19.     return range(1, num + 1)


  20. def get_page(url):
  21.     r = requests.get(url, headers=headers)
  22.     r.encoding = 'utf-8'
  23.     html = r.text
  24.     # print(html)
  25.     selector = etree.HTML(html)
  26.     page = selector.xpath('//div[@id="page"]/a/text()')[-2]
  27.     return(page)


  28. def get_img(url):
  29.     r = requests.get(url, headers=headers)
  30.     r.encoding = 'utf-8'
  31.     html = r.text
  32.     selector = etree.HTML(html)
  33.     try:
  34.         content = selector.xpath('//div[@id="content"]/a/img')[0]
  35.         img_url = content.xpath('@src')[0]
  36.         title = content.xpath('@alt')[0]
  37.         sav_img(title, img_url)
  38.     except Exception as e:
  39.         print('Erro!!!')
  40.         pass


  41. def sav_img(name, url):
  42.     name = name + '.jpg'
  43.     if name in os.listdir(path):
  44.         print('重复文件')
  45.     else:
  46.         r = requests.get(url, headers=headers)
  47.         with open(name, 'wb') as f:
  48.             f.write(r.content)
  49.         print(name)


  50. def main(index):
  51.     main_url = 'http://www.mmjpg.com/mm/%s' % index
  52.     page = get_page(main_url)
  53.     if os.path.exists(path) != True:
  54.         os.mkdir(path)
  55.     else:
  56.         os.chdir(path)
  57.     # print(path)
  58.     for i in range(1, int(page) + 1):
  59.         url = '%s/%s' % (main_url, i)
  60.         try:
  61.             get_img(url)
  62.         except Exception as e:
  63.             raise e


  64. if __name__ == '__main__':
  65.     indexs = get_index()
  66.     for index in reversed(indexs):
  67.         main(index)
复制代码
TIM截图20180318184712.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-18 19:38:00 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-18 20:19:10 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-18 20:30:30 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-18 20:36:05 | 显示全部楼层
向这样的爬虫,我一般只看爬取的URL
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-4 18:43:34 | 显示全部楼层
感谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-8 23:30:18 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-11 20:55:06 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-12 15:58:23 | 显示全部楼层
为什么我运行的都是闪一下就没了呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 23:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表