飞道的博客

爬虫(九十七)不爬妹子图的爬虫不是一只好爬虫

328人阅读  评论(0)

不爬妹子图的爬虫不是一只好爬虫。----鲁迅

还是一样,我们在爬取妹子图片的时候,首先要分析一下 DOM

这里的img是就封面,如果只抓取封面的话,到这就可以了,但是我们取的是所有图片,

所以这里我们获取的是这个详情页的a链接:mmonly.cc/mmtp/xgmn/181


   
  1. import requests
  2. from lxml import html
  3. for page in range( 1, 852):
  4. url= 'http://www.mmonly.cc/mmtp/list_9_%s.html'%page
  5. response=requests.get(url,verify=False).text
  6. selector=html.fromstring(response)
  7. imgEle=selector.xpath( '//div[@class="ABox"]/a')
  8. for img in imgEle:
  9. imgUrl=img.xpath( '@href')[ 0]
  10. print(imgUrl)

这样,我们就获取到了所有的主要链接,每页24个,2w+个。
这里用的是xpath


   
  1. import os
  2. import urllib
  3. import requests
  4. from lxml import html
  5. import time
  6. os.mkdir( 'meizi')#第一次运行新建meizi文件夹,手动建可以注释掉
  7. for page in range( 1, 852):
  8. url= 'http://www.mmonly.cc/mmtp/list_9_%s.html'%page
  9. print(url)
  10. response=requests.get(url,verify=False).text
  11. selector=html.fromstring(response)
  12. imgEle=selector.xpath( '//div[@class="ABox"]/a')
  13. print( len(imgEle))
  14. for index,img in enumerate(imgEle):
  15. imgUrl=img.xpath( '@href')[ 0]
  16. response=requests.get(imgUrl,verify=False).text
  17. selector = html.fromstring(response)
  18. pageEle = selector.xpath( '//div[@class="wrapper clearfix imgtitle"]/h1/span/span[2]/text()')[ 0]
  19. print(pageEle)
  20. imgE=selector.xpath( '//a[@class="down-btn"]/@href')[ 0]
  21. imgName = '%s_%s_1.jpg' % (page,str(index+ 1))
  22. coverPath = '%s/meizi/%s' % (os.getcwd(), imgName)
  23. urllib.request.urlretrieve(imgE, coverPath)
  24. for page_2 in range( 2, int(pageEle)+ 1):
  25. url=imgUrl.replace( '.html', '_%s.html' % str(page_2))
  26. response = requests.get(url).text
  27. selector = html.fromstring(response)
  28. imgEle = selector.xpath( '//a[@class="down-btn"]/@href')[ 0]
  29. print(imgEle)
  30. imgName= '%s_%s_%s.jpg'%(page,str(index+ 1),page_2)
  31. coverPath = '%s/meizi/%s' % (os.getcwd(), imgName)
  32. urllib.request.urlretrieve(imgEle, coverPath)
  33. time.sleep( 2)

这个网站没有什么反爬虫措施,为避免服务器压力过大,在每次循环后面加了休眠2秒。
成果图如下:


转载:https://blog.csdn.net/qq_36772866/article/details/105384220
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场