爬虫基础练习—python爬虫下载豆瓣妹子图片
时间:2022-07-22
本文章向大家介绍爬虫基础练习—python爬虫下载豆瓣妹子图片,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
下载指定网站上的妹子图片,这里只抓了前100页的图片,可根据需要自己设置页数
cat值为图片类型,大家可以自行更改cat值体验一下,有问题留言给我,看到就会解答
2 = 大胸妹
3 = 美腿控
4 = 有颜值
5 = 大杂烩
6 = 小翘臀
import requests
import re
import time
from bs4 import BeautifulSoup
cat ='2'
img = 'http://www.dbmeinv.com/dbgroup/show.htm?cid='+ cat
end = '/dbgroup/show.htm?cid='+ cat + '&pager_offset=100'
urls = [ ]
def getURLs(mainURL):
time.sleep(1)
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36'}
html = requests.get(mainURL).text
soup = BeautifulSoup(html, 'html.parser')
picURL = re.findall('<img class.*?src="(.+?.jpg)"', html, re.S)
for url in picURL:
urls.append(url)
print(url)
asoup = soup.select('.next a')[0]['href']
Next_page = 'http://www.dbmeinv.com' + asoup
if asoup != end:
getURLs(Next_page)
else:
print('链接已处理完毕!')
return urls
url = getURLs(img)
i = 0
for each in url:
pic = requests.get(each, timeout = 10)
picName = 'pictures/' + str(i) + '.jpg'
fp = open(picName, 'wb')
fp.write(pic.content)
fp.close()
i += 1
print('图片下载完成')
- 浅谈 Scala 中下划线的用途
- Java 多线程之 Runnable VS Thread 及其资源共享问题
- 块RAM的Verilog HDL调用
- 玩转千位分隔符输出
- DCM 模块的Verilog HDL 调用
- Python RPC 远程调用脚本之 RPyC 实践
- CRC16 编码器的Verilog HDL 实现
- macOS 0-day漏洞详情披露,可被利用完全接管系统
- SPI 接口协议的Verilog HDL 实现
- 玩转 Nginx 之:使用 Lua 扩展 Nginx 功能
- 键盘防抖
- 按键扫描接口的Verilog HDL 实现
- 病毒分析 | 一只“蜗牛”偷梁换柱,靠锁主页进行牟利
- 移位寄存器的工作原理
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 数据存储方式——JSON、CSV、MongoDB、Redis、MySQL
- Spring Boot引入swagger-ui 后swagger-ui.html无法访问404
- 多路复用IO内幕
- Linux信号处理
- Shopify主题title/description等SEO设置
- Golang实现守护进程
- LaTeX简单常用方法笔记
- Convolution_model_Application_v1a
- Windows平台快速安装MongoDB和Robo 3T
- Linux内存管理 - slab分配器
- akka-grpc - 基于akka-http和akka-streams的scala gRPC开发工具
- Redis Sentinel原理与实现 (中)
- Keras_Tutorial_v2a
- 根据字符串生成对应Hash值
- Redis Sentinel原理与实现 (下)