[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'; //远程图片抓取存放 ...
随机推荐
- buuctf-misc-snake 详解
打开压缩包,里面一张蛇的图片,看的我是真恶心,看了看详细信息,没什么,然后我用formstlrb分离,然后有一个压缩包 以为还像往常一样,有伪加密或者简单加密,但是居然啥也没有,里面有两个文件,key ...
- Hadoop框架:DataNode工作机制详解
本文源码:GitHub·点这里 || GitEE·点这里 一.工作机制 1.基础描述 DataNode上数据块以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是数据块元数据包括长度.校验.时 ...
- java 保留小数点后指定位数四种方法
1 package com.itheima_01; 2 3 import java.math.BigDecimal; 4 import java.text.DecimalFormat; 5 impor ...
- 通过maven创建springboot项目
1,idea选择创建一个maven项目 2,pom.xml <dependencies> <dependency> <groupId>org.springframe ...
- 推荐系统---深度兴趣网络DIN&DIEN
深度学习在推荐系统.CTR预估领域已经有了广泛应用,如wide&deep.deepFM模型等,今天介绍一下由阿里算法团队提出的深度兴趣网络DIN和DIEN两种模型 paper DIN:http ...
- JWT原理
1.COOKIE使用和优缺点 https://www.cnblogs.com/xiaonq/p/11094480.html 1.1 cookie原理: 用户名+密码 cookie是保存在用户浏览器 ...
- 使用scrapy框架模拟登录
scrapy模拟登录 注意:模拟登陆时,必须保证settings.py里的COOKIES_ENABLED(Cookies中间件) 处于开启状态 COOKIES_ENABLED = True 或# CO ...
- 02_tcp_deadlock
# 这个程序我们是测试客户端和服务端在进行通信的过程中,可能会产生死锁的情况. # 这是因为缓冲区,和TCP协议的可靠性连接导致的. # 在程序中我们可以看到,客户端先向服务端发送数据,然后服务端就收 ...
- Netty源码解析 -- ChannelOutboundBuffer实现与Flush过程
前面文章说了,ChannelHandlerContext#write只是将数据缓存到ChannelOutboundBuffer,等到ChannelHandlerContext#flush时,再将Cha ...
- php 之 excel导出导入合并
<?php class Excel extends Controller { //直属高校 public function __construct() { parent::Controller( ...