coding:utf-8import requests
import threading #多线程
from lxml import etree #解析网页
from bs4 import BeautifulSoup #页面提取#输出的内容编码是utf-8import sys
reload(sys)
sys.setdefaultencoding('utf-8')def index_url(url):
#加上header是为了防止网站反爬虫的机制 我们使用代理模拟浏览器
#页面的header User-Agent是代理 当前页面的 注:所有User-Agent都是一样的
header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36'}
html=requests.get(url,header).content
return html#获取每个图片链接def get_img(html):
soup = etree.HTML(html)
items=soup.xpath('//div[@class="artile_des"]')
for item in items:
imgurl_list=item.xpath('table/tbody/tr/td/a/img/@onerror')
#print imgurl_list
start_save_img(imgurl_list)
#sys.exit()#获取详情页a标签链接def get_img_html(html):
#创建BeautifulSoup对象
soup = BeautifulSoup(html,'lxml')
#查找a标签 class是关键字使用要加上下划线class_
a_all=soup.find_all('a',class_="list-group-item")
for i in a_all:
img_html=index_url(i['href'])
get_img(img_html)#下载图片def save_img(img_url):
img_url = img_url.split('=')[-1].replace(''','')
img_url = 'http:'+img_url
# print 123
# sys.exit()
# print img_url
# sys.exit()
img_content = requests.get(img_url).content
#print img_content.status_code
save_path='./doutu/'+img_url.split('/')[-1]
# print save_path
# sys.exit()
with open(save_path, 'wb') as f:
print u'正在下载'+img_url.split('/')[-1]
f.write(img_content)#多线程 调用下载图片方法def start_save_img(imgurl_list):
for i in imgurl_list:
th=threading.Thread(target = save_img,args=(i,))
th.start()
def main():
for i in range(1,2):
url = 'https://www.doutula.com/article/list/?page='+str(i)
starthtml = index_url(url)
get_img_html(starthtml)if name == 'main':
main()

Python斗图网多线程爬取图片相关推荐

  1. python多线程处理图片_Python斗图网多线程爬取图片

    coding:utf-8 import requests import threading #多线程 from lxml import etree #解析网页 from bs4 import Beau ...

  2. 【日常点滴016】python斗图网多线程爬虫

    (代码有点老了,怕丢失,发在csdn上,仅做多线程代码了解. 改改结构应该还能用到很多网站上) import requests 斗图网 多线程爬虫 from lxml import etree fro ...

  3. 2020/4/11 斗图啦多线程爬取表情包

    [斗图啦多线程爬虫思路] 网站:https://www.doutula.com/photo/list/?page=1 爬取的是最新的表情包这个页面的图片 思路 1.分析需求,创建解析线程和下载线程 因 ...

  4. 斗图斗不过小伙伴?python多线程爬取斗图网表情包,助你成为斗图帝!

    最近python基础课讲到了多线程,老师让交个多线程的实例练习.于是来试试多线程爬虫,正好复习一下mooc上自学的嵩天男神的爬虫知识.想法很美好,过程却很心酸,从早上开始写,每次出现各种奇怪问题,到现 ...

  5. 100行代码教你爬取斗图网(Python多线程队列)

    100行代码教你爬取斗图网(Python多线程队列) 前言 根据之前写的两篇文章,想必大家对多线程和队列有了一个初步的了解,今天这篇文章就来实战一下,用多线程 + 队列 爬取斗图网的全网图片. 你还在 ...

  6. 使用python爬取斗图网的图片

    使用python爬取斗图网的图片 以下是代码部分: # -*- coding: utf-8 -*- """ Created on Wed Apr 14 14:41:42 ...

  7. python3爬虫——多线程爬取斗图网表情包

    本文用多线程生产者,消费者模式爬取斗图网的表情包,并下载保存到本地,get_page()函数负责获取页面的图片的url链接,downlod_img()函数通过图片url下载保存到本地文件夹中,开启多线 ...

  8. 爬虫笔记——多线程爬取斗图网表情包(threading)

    爬虫笔记--多线程爬取斗图网表情包(threading) 网站观察 爬取框架 具体代码 斗图网网址:斗图网,这里以爬取最新套图为例. 网站观察 在网页翻页操作中可以看到网页是非动态加载的(page为页 ...

  9. 多线程爬取斗图网表情包

    import requests import re import queue import threading import timeHeaders = {'User-Agent': 'Mozilla ...

最新文章

  1. iOS开发之加载大量网络图片优化
  2. Python爬虫数据分析三剑客:Numpy、pandas、Matplotlib
  3. .net core 与ELK(2)安装Elasticsearch可视化工具
  4. Android开发之显示截图动画效果直到消失
  5. 解决 kindle 书籍字体颜色偏淡问题的方法
  6. python常用字符串方法调用语法_Python3常用的字符串方法
  7. 数据结构---prim最小生成树
  8. Ubuntu 14.04 ThinkPad E431无线网卡驱动安装
  9. 向前logistic回归与向后筛选出一样的变量_什么泊松分布?泊松回归又能做什么?...
  10. python histogram函数_python (ploit2)(histogram)
  11. 前端怎么携带cookie发送php,PHP如何执行传递cookie的http请求并将结果保存到字符串...
  12. 删除Windows 7系统保留分区100MB
  13. 马斯洛提出动机理论_动机理论:工作背后的动力机制
  14. JPA之Specification复杂条件查询
  15. 达人实测:天玑1000和骁龙765g哪个好-天玑1000和骁龙765g对比跑分
  16. 【实用工具】UML图六种箭头的含义
  17. 视频处理系列︱利用达摩院ModelScope进行视频人物分割+背景切换(一)
  18. 数据结构与算法——概念
  19. NLP系列(3)_用朴素贝叶斯进行文本分类(下)
  20. Diffusion model知识笔记

热门文章

  1. linux查看进程占用的内存大小,查看进程占用内存大小的几种方法,占用内存几种方法...
  2. 单片机供电及掉电保护
  3. 【软件工程】——概要设计说明书
  4. 大靶面镜头选型的重要一步--选择接圈
  5. 【工具】svn移动仓库数据并且账号不丢失的解决办法
  6. 浅析平衡二叉树的四种旋转
  7. 凸优化基础学习:凸集、凸函数、凸规划理论概念学习
  8. php递归函数实现阶乘,递归函数之阶乘的实现
  9. 原型链(又称变态遗传链,不讲武德,耗子尾汁吧)
  10. Windows系统:桌面,开始菜单和工具栏都不见了