[python应用]python简单图片抓取
前言
emmmm
python简单图片抓取
1 import requests
2 import threading
3 import queue
4 from subprocess import Popen,PIPE
5 from bs4 import BeautifulSoup as bs
6 import urllib
7 import base64
8
9
10 queue=queue.Queue()
11
12 class Jiandan(threading.Thread):
13 def __init__(self,queue):
14 threading.Thread.__init__(self)
15 self._queue=queue
16
17 def run(self):
18 while not self._queue.empty():
19 url=self._queue.get_nowait()
20 self.spider(url)
21
22 def spider(self,url):
23 headers={}
24 r=requests.get(url)
25 #选择lxml解析器
26 soup=bs(r.content,'lxml')
27 #查找html标签name为img的元素获取到它
28 imgs=soup.find_all(name='img',attrs={})
29
30 for img in imgs:
31 if 'onload' in str(img):
32 img=img['org_src']
33 else:
34 img=img['src']
35
36 name=img.split('/')[-1]
37
38 #获取的url没http:所以要加上http协议才能访问下载
39 img="http:"+img
40
41 #存储图片的路径地址
42 lu="C:\\Users\\xhds1\\Desktop\\img\\"+name
43 print(lu)
44 urlretrieve(img,lu) #urlretrieve模块下载图片
45 # print(name)
46
47 def main():
48 sss=""
49 for i in range(137,139):
50 riqi="20200121-%s"%(i)
51
52 #使用了base64模块进行URL编码 这里遇到的问题是编码后就成为了字节流类型
53 #查了资料才得知必须转换成字符串类型才行 纠结了好久
54 strbs=base64.b64encode(riqi.encode(encoding="utf-8")).decode("utf-8")
55
56 queue.put("https://jandan.net/pic/"+strbs+"#comments")
57
58 threads=[]
59 thread_count=5
60
61 for i in range(thread_count):
62 threads.append(Jiandan(queue))
63 for t in threads:
64 t.start()
65 for t in threads:
66 t.join()
67
68 if __name__=='__main__':
69 main()
参考学习:
浅析Python3中的bytes和str类型:https://www.cnblogs.com/chownjy/p/6625299.html
https://www.cnblogs.com/OliverQin/p/8641700.html
[python应用]python简单图片抓取的更多相关文章
- arpspoof+driftnet+ ARP欺骗简单图片抓取
arpspoof+driftnet+ ARP欺骗简单图片抓取 driftnet是一款简单而使用的图片捕获工具,可以很方便的在网络数据包中抓取图片.该工具可以实时和离线捕获指定数据包中是图片 环境 受害 ...
- Python爬虫之网页图片抓取
一.引入 这段时间一直在学习Python的东西,以前就听说Python爬虫多厉害,正好现在学到这里,跟着小甲鱼的Python视频写了一个爬虫程序,能实现简单的网页图片下载. 二.代码 __author ...
- python爬虫beta版之抓取知乎单页面回答(low 逼版)
闲着无聊,逛知乎.发现想找点有意思的回答也不容易,就想说要不写个爬虫帮我把点赞数最多的给我搞下来方便阅读,也许还能做做数据分析(意淫中--) 鉴于之前用python写爬虫,帮运营人员抓取过京东的商品品 ...
- 利用python脚本(xpath)抓取数据
有人会问re和xpath是什么关系?如果你了解js与jquery,那么这个就很好理解了. 上一篇:利用python脚本(re)抓取美空mm图片 # -*- coding:utf-8 -*- from ...
- Python爬虫实战四之抓取淘宝MM照片
原文:Python爬虫实战四之抓取淘宝MM照片其实还有好多,大家可以看 Python爬虫学习系列教程 福利啊福利,本次为大家带来的项目是抓取淘宝MM照片并保存起来,大家有没有很激动呢? 本篇目标 1. ...
- Python爬虫实战六之抓取爱问知识人问题并保存至数据库
大家好,本次为大家带来的是抓取爱问知识人的问题并将问题和答案保存到数据库的方法,涉及的内容包括: Urllib的用法及异常处理 Beautiful Soup的简单应用 MySQLdb的基础用法 正则表 ...
- 一次Python爬虫的修改,抓取淘宝MM照片
这篇文章是2016-3-2写的,时隔一年了,淘宝的验证机制也有了改变.代码不一定有效,保留着作为一种代码学习. 崔大哥这有篇>>小白爬虫第一弹之抓取妹子图 不失为学python爬虫的绝佳教 ...
- 基于Python PIL实现简单图片格式转化器
基于Python PIL实现简单图片格式转化器 目录 基于Python PIL实现简单图片格式转化器 1.简介 2.前期资料准备 2.1.1如何实现图片格式转换? 2.1.2如何保存需要大小的图片? ...
- php远程图片抓取存放到本地路径并生成缩略图
private function _getcontent($content) { $img_dir='../Public/Img/Ycimg'; //远程图片抓取存放 ...
随机推荐
- lerna管理前端模块实践
最近在工作中使用了 lerna 进行前端包的管理,效率提升了很多.所以打算总结一下最近几个月使用 lerna 的一些心得.有那些不足的地方,请包涵. 该篇文章主要包括在使用 lerna 的一些注意事项 ...
- MySQL5.6的二进制安装
5.6 5.7 用的最多 差别不大. 首先从网上下在二进制文件 先去官网找到自己想要的版本 https://dev.mysql.com/downloads/mysql/ https://dev.mys ...
- django—路由相关
django不同版本的路由配置 django 2之前,配置urlpatterns使用的是url方法 django 2之后,配置urlpatterns使用的是path方法 path与url的区别: ur ...
- 预编译 - Js三部曲
预编译前奏 imply global - 暗示全局变量, window - 全局域 任何变量未经声明即赋值,该变量为全局所有 window 一切声明的 "全局" 变量,归windo ...
- 使用ML.NET模型生成器来完成图片性别识别
什么是ML.NET? ML.NET 使你能够在联机或脱机场景中将机器学习添加到 .NET 应用程序中. 借助此功能,可以使用应用程序的可用数据进行自动预测. 机器学习应用程序利用数据中的模式来进行预测 ...
- Docker学习笔记之--安装mssql(Sql Server)并使用Navicat连接测试(环境:centos7)
前一节演示如何使用Nginx反向代理 .net Core项目容器,地址:Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(二) ...
- pandas dataframe 时间字段 diff 函数
pandas pandas 是数据处理的利器,非常方便进行表格数据处理,用过的人应该都很清楚,没接触的可以自行查阅pandas 官网. 需求介绍 最近在使用 pandas 的过程中碰到一个问题,需要计 ...
- STM32入门系列-CMSIS标准
使用寄存器点亮开发板上LED,这种开发方式显然是不适合大众,对于STM32这样庞大的芯片,内部寄存器实在太多,如果操作的外设比较多,那么就需要花很多时间查询底层寄存器内容,而且即使程序写好,如果要换其 ...
- APIview + Serializers
1.APIview使用 https://www.cnblogs.com/xiaonq/p/10124104.html https://www.cnblogs.com/xiaonq/p/109878 ...
- NOIP 2013 P1967 货车运输
倍增求LCA+最大生成树 题目给出的是一张图,在图上有很多算法无法实现,所以要将其转化为树 题中可以发现货车的最后的载重量是由权值最小的一条边决定的,所以我们求最大生成树 求完最大生成树后我们得到一个 ...