爬取"萌妹子"网

  • 一.目标网站
  • 二.网站分析
    • 1.翻页方法
    • 2.提取每个封面的链接以及名称
    • 3.二级页面
      • 3.1提取图片链接
      • 3.2保存图片
  • 三.代码及运行结果
    • 1.完整代码
    • 2.运行结果
    • 3.成品欣赏

一.目标网站

目标网站:https://imoemei.com/
网站爬取分类:https://imoemei.com/meinv/page/{n}


一共11页

二.网站分析

1.翻页方法

所有翻页全部采用for循环,有更好的更简单的方法请大神指点一下

  • 写真栏目
    -一共11页,考虑翻页问题
for n in range(1,12):url=f'https://imoemei.com/meinv/page/{n}'
  • 每一页30张封面

2.提取每个封面的链接以及名称

  • 用requests对url进行请求
  • 用bs4.BeautifulSoup,"html.parser"对网页源码进行解析
  • 用select定位所需的内容
  • 用re正则表达式对需要的子页面链接和名称进行提取
    resp=requests.get(url,headers)exSoup=bs4.BeautifulSoup(resp.text,'html.parser')onePage=exSoup.select('h2')oneLink=re.findall(r'<a href="(.*?)">',str(onePage))oneNames=re.findall(r'html">(.*?)</a>',str(onePage))

3.二级页面

  • 翻页&&访问
    for ones in range(len(oneLink)):header = {"user-agent": random.choice(ualist)}print("\033[0;31m%s\033[0m" % f"------------正在下载{oneNames[ones]}小姐姐图片------------")#访问二级页面tworesp=requests.get(url=oneLink[ones],headers=header)

3.1提取图片链接

     twoSoup=bs4.BeautifulSoup(tworesp.text,'html.parser')twoPage=twoSoup.select('img[src]')jpgs=re.findall(r'<img src="(.*?)"/>',str(twoPage))

3.2保存图片

        #保存图片for i in range(len(jpgs)):print(f'{jpgs[i]}')try:jpg = requests.get(url=jpgs[i],headers=header)with open(f'D:/爬取图片/萌妹子/{oneNames[ones]}{i}.jpg','wb') as f:f.write(jpg.content)time.sleep(0.1)print(f'{oneNames[ones]}{i}.jpg下载完成!')except:print(f'{oneNames[ones]}{i}.jpg下载失败!')

三.代码及运行结果

1.完整代码

'''
2021-8-1
目标网站:https://imoemei.com/
网站爬取分类:https://imoemei.com/meinv/page/{n}
'''
import bs4,re,requests
import random,timeualist = ["Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3872.400 QQBrowser/10.8.4455.400","Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:23.0) Gecko/20131011 Firefox/23.0","Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.90 Safari/537.36","Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36","Mozilla/5.0 (X11; Linux i586; rv:31.0) Gecko/20100101 Firefox/31.0","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1623.0 Safari/537.36","Mozilla/5.0 (Windows; U; Windows NT 6.0; nb-NO) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5","Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36","Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.14 (KHTML, like Gecko) Chrome/24.0.1292.0 Safari/537.14","Mozilla/5.0 (Windows NT 4.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1464.0 Safari/537.36","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; Media Center PC 6.0; InfoPath.3; MS-RTC LM 8; Zune 4.7)","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36","Mozilla/5.0 (Windows NT 6.2; rv:21.0) Gecko/20130326 Firefox/21.0","Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10; rv:33.0) Gecko/20100101 Firefox/33.0","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36","Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36","Mozilla/5.0 (X11; Linux x86_64; rv:28.0) Gecko/20100101  Firefox/28.0","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20120101 Firefox/29.0","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.62 Safari/537.36","Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36","Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20130401 Firefox/21.0","Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36","Mozilla/5.0 (Windows x86; rv:19.0) Gecko/20100101 Firefox/19.0","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1309.0 Safari/537.17","Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36","Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36","Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15",
]
headers = {"user-agent":random.choice(ualist)}
for n in range(1,12):url=f'https://imoemei.com/meinv/page/{n}'resp=requests.get(url,headers)exSoup=bs4.BeautifulSoup(resp.text,'html.parser')onePage=exSoup.select('h2')oneLink=re.findall(r'<a href="(.*?)">',str(onePage))oneNames=re.findall(r'html">(.*?)</a>',str(onePage))for ones in range(len(oneLink)):header = {"user-agent": random.choice(ualist)}print("\033[0;31m%s\033[0m" % f"------------正在下载{oneNames[ones]}小姐姐图片------------")#访问二级页面tworesp=requests.get(url=oneLink[ones],headers=header)twoSoup=bs4.BeautifulSoup(tworesp.text,'html.parser')twoPage=twoSoup.select('img[src]')jpgs=re.findall(r'<img src="(.*?)"/>',str(twoPage))#保存图片for i in range(len(jpgs)):print(f'{jpgs[i]}')try:jpg = requests.get(url=jpgs[i],headers=header)with open(f'D:/爬取图片/萌妹子/{oneNames[ones]}{i}.jpg','wb') as f:f.write(jpg.content)time.sleep(0.1)print(f'{oneNames[ones]}{i}.jpg下载完成!')except:print(f'{oneNames[ones]}{i}.jpg下载失败!')tworesp.close()resp.close()print('\033[45m------------------------------------------------------------------')print(f'\033[45m第{n}页全部保存完毕')

2.运行结果

3.成品欣赏


截止到目前正在爬第8页,已经有1700+图

2021-08-01 Python-爬虫练手:爬取上千张“萌妹子“网美图相关推荐

  1. 2021-08-07 Python-爬虫练手:爬取上千张动漫卡通头像

    爬取上千张卡通头像 思路实现 一级页面 二级页面 try-except 保存 完整程序 代码 ualist 记得关闭请求 成品欣赏 这两天在学算法,昨天感觉力扣的头像不好看,刚好有两天没碰爬虫了,就百 ...

  2. 爬虫练手——爬取草书网站的草书字体图片

    爬取草书网站(http://www.shufazidian.com/)的草书字体图片 要求 在书法字体查询网站http://www.shufazidian.com/爬取草书的字体图片,并将其保存到本地 ...

  3. 【Python爬虫实战】爬取5K分辨率超清唯美小姐姐壁纸

    目录 简介 使用教程 编写思路 演示图片 全部代码 简介 壁纸的选择其实很大程度上能看出电脑主人的内心世界,有的人喜欢风景,有的人喜欢星空,有的人喜欢美女,有的人喜欢动物.然而,终究有一天你已经产生审 ...

  4. 从入门到入土:Python爬虫学习|实例练手|爬取猫眼榜单|Xpath定位标签爬取|代码

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  5. 从入门到入土:Python爬虫学习|实例练手|爬取百度翻译|Selenium出击|绕过反爬机制|

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  6. 从入门到入土:Python爬虫学习|实例练手|爬取新浪新闻搜索指定内容|Xpath定位标签爬取|代码注释详解

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  7. 从入门到入土:Python爬虫学习|实例练手|爬取百度产品列表|Xpath定位标签爬取|代码注释详解

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  8. Python爬虫---影评的爬取

    Python爬虫-影评的爬取 介绍:爬虫练手,使用Requests库进行豆瓣影评的爬虫,做成词云图,写文章主要做一些问题解决的记录. 运行环境:python 3.8, Pycharm 关于在豆瓣爬取影 ...

  9. Python爬虫学习笔记 -- 爬取糗事百科

    Python爬虫学习笔记 -- 爬取糗事百科 代码存放地址: https://github.com/xyls2011/python/tree/master/qiushibaike 爬取网址:https ...

  10. 【Python爬虫】从零开始爬取Sci-Hub上的论文(串行爬取)

    [Python爬虫]从零开始爬取Sci-Hub上的论文(串行爬取) 维护日志 项目简介 步骤与实践 STEP1 获取目标内容的列表 STEP2 利用开发者工具进行网页调研 2.1 提取文章链接和分页链 ...

最新文章

  1. dice系数 交叉熵_语义分割中的损失函数
  2. mysql复杂操作,.Net Core+mySqlSugar的一些稍复杂操作
  3. 在MYSQL中输入net stop mysql没有反应?
  4. 个人信息管理系统代码_学生信息管理系统(springboot + vue)
  5. 基于nginx-rtmp-module模块实现的HTTP-FLV直播模块(nginx-http-flv-module)
  6. 软件测试和初级会计哪个简单,2018年初级会计app刷题哪个好?
  7. mysql 分组求和_MySQL 分组最值、分组均值、分组求和
  8. 远程桌面控制计算机,如何在局域网中进行远程桌面登入实现远程控制电脑
  9. redis实现原理和应用(redis读书笔记)
  10. java调用python需要复权吗_用Python从新浪下载A股复权因子信息
  11. 共模信号_共模和差模的区别
  12. struts2从入门到精通
  13. 基于javaweb的学生综合素质评价系统(java+ssm+thymeleaf+layui+mysql)
  14. Python爬虫进阶(十):实战,Scrapy爬取贴吧
  15. 《计算机网络》第三章课后答案第七版谢希仁
  16. python 任务管理系统_python bottle框架开发任务管理系统 V_1.0版
  17. Facebook第三方登录切换账号的问题
  18. 手机bootstrap搜索框_这些桌面小部件,Android 手机可不能错过
  19. java for循环 写法_java中for循环的6种写法
  20. python --003--流程控制while,for

热门文章

  1. 计算机管理说文件缺失lnk,Win10系统右键管理打不开提示Windows找不到文件Server manager.lnk如何解决...
  2. CMU 15-213 Introduction to Computer Systems学习笔记(16) Virtual Memory: Concepts
  3. 算法4中数学模型练习题分析
  4. android 更换系统壁纸,Android使用线程更换壁纸
  5. LinkedList的源码分析(基于jdk1.8)
  6. Discuz代码片段
  7. 解决Maven下载慢的问题
  8. sql 导入excel 遇到问题
  9. 201671010119 2016-2017-2《Java程序设计》第十六周学习心得
  10. 前端数据/文件提交的三种方式