用到的库;

import requests
import os
from bs4 import BeautifulSoup
import time
from multiprocessing import Pool

定义图片存储路径;

    path = r'E:\爬虫\0805\\'

请求头,模拟浏览器请求;

在浏览器中的位置,按f12打开开发者模式;

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
}

主函数;

--------------------------------------------------------------------
注:如果你对python感兴趣,我这有个学习Python基地,里面有很多学习资料,感兴趣的+Q群:895817687
--------------------------------------------------------------------
def get_images(url):data = 'https:'res = requests.get(url,headers=headers)soup = BeautifulSoup(res.text,'lxml')url_infos = soup.select('div.thumb > a > img')# print(url_infos)for url_info in url_infos:try:urls = data+url_info.get('src')if os.path.exists(path+urls.split('/')[-1]):print('图片已下载')else:image = requests.get(urls,headers=headers)with open(path+urls.split('/')[-1],'wb') as fp:fp.write(image.content)print('正在下载:'+urls)time.sleep(0.5)except Exception as e:print(e)

开始爬虫程序;

if __name__ == '__main__':# 路由列表urls = ['https://www.qiushibaike.com/imgrank/page/{}/'.format(i) for i in range(1,14)]# 开启多进程爬取pool = Pool()pool.map(get_images,urls)print('抓取完毕')

爬取中;
打开文件夹查看爬取结果;
done

完整代码;

import requests
import os
from bs4 import BeautifulSoup
import time
from multiprocessing import Pool
"""
************常用爬虫库***********requestsBeautifulSouppyquery lxml
************爬虫框架***********scrapy三大解析方式:re,css,xpath
"""
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
}
path = r'E:\爬虫\0805\\'
def get_images(url):data = 'https:'res = requests.get(url,headers=headers)soup = BeautifulSoup(res.text,'lxml')url_infos = soup.select('div.thumb > a > img')# print(url_infos)for url_info in url_infos:try:urls = data+url_info.get('src')if os.path.exists(path+urls.split('/')[-1]):print('图片已下载')else:image = requests.get(urls,headers=headers)with open(path+urls.split('/')[-1],'wb') as fp:fp.write(image.content)print('正在下载:'+urls)time.sleep(0.5)except Exception as e:print(e)if __name__ == '__main__':# 路由列表urls = ['https://www.qiushibaike.com/imgrank/page/{}/'.format(i) for i in range(1,14)]# 开启多进程爬取pool = Pool()pool.map(get_images,urls)print('抓取完毕')

python+BeautifulSoup+多进程爬取糗事百科图片相关推荐

  1. python+正则+多进程爬取糗事百科图片

    话不多说,直接上代码: # 需要的库 import requests import re import os from multiprocessing import Pool # 请求头 header ...

  2. python实现数据爬取——糗事百科爬虫项目

    python实现数据爬取--糗事百科爬虫项目 # urllib.request 请求模块 import urllib.request # re 模块使 Python 语言拥有全部的正则表达式功能. i ...

  3. python爬虫经典段子_玩转python爬虫之爬取糗事百科段子

    大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧.那么这次为大家带来,Python爬取糗事百科的小段子的例子. 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把 ...

  4. 爬取糗事百科图片(正则案例)

    首先前面来到糗事百科中的热图页面.然后右键检查打开浏览器的抓包工具,如下图所示: 通过对请求headers与响应response与element的分析,我们可以了解到图片链接就在该地址栏的网址下的di ...

  5. 爬虫爬取糗事百科图片数据

    如图,爬取所有图片,不包含文字 通过抓包工具可知每一张图片所在div的class="thumb",利用正则表达式 ex = '<div class="thumb&q ...

  6. python爬虫,爬取糗事百科并保存到文件中

    #--*--coding:utf-8--*-- import re import urllib.request from urllib.error import URLError,HTTPError ...

  7. 利用Python爬取糗事百科段子信息

    文章来源:公众号-智能化IT系统. 爬虫技术目前越来越流行,这里介绍一个爬虫的简单应用. 爬取的内容为糗事百科文字内容中的信息,如图所示: 爬取糗事百科文字35页的信息,通过手动浏览,以下为前四页的网 ...

  8. 读书笔记(4)——python爬取糗事百科,并存到MySQL中

    2019独角兽企业重金招聘Python工程师标准>>> 安装MySQL.使用phpStudy集成工具来安装MySQL服务器,或者可以用USBwebserve进行安装. 打开USBwe ...

  9. Python爬虫实战(1):爬取糗事百科段子

    Python爬虫入门(1):综述 Python爬虫入门(2):爬虫基础了解 Python爬虫入门(3):Urllib库的基本使用 Python爬虫入门(4):Urllib库的高级用法 Python爬虫 ...

最新文章

  1. 技术硬核还不够?互联网企业出海指南来了!
  2. UVa 11121 - Base -2 负进制的转化和推广
  3. java判断题_【Java判断题】请大神们进来看下、这些判断题你都知道多少~
  4. python自动化_python自动化测试-Behave框架的用法介绍 - python测试学习
  5. 计算机如何退出1.1.2模式,华为fastboot模式怎么进入和退出?
  6. springmvc php,SpringMVC 常用注解
  7. mysql打印语句_抓取mysql、redis、mongodb、http等协议并打印语句
  8. [转]【建议收藏】优秀实用的OpenCV开源项目汇总
  9. Hive查看表的分区字段
  10. Docker-创建支持ssh服务的镜像
  11. JavaScript replace()
  12. Java 线程池 ThreadPoolExecutor源码简析
  13. 一例WINDOWS系统上的JAVA UI卡死
  14. 基于Java的仓库管理系统
  15. C#使用WebProxy实现代理访问webservice
  16. 繁簡替互換(SQL)
  17. 奶酪和奶酪碎的区别_与奶酪三星银河芽战斗大逃杀直播vs airpods
  18. TTMS剧院票务管理系统全网最全!!!不接受反驳
  19. 编辑器如何加载多张图片
  20. python打印一年的日历_使用Python打印日历

热门文章

  1. python怎么换行输入而不执行_关于在IDLE中怎么换行继续敲写代码而不执行语句...
  2. 【Java报错】MultipartFile 类型文件上传 Current request is not a multipart request 问题处理(postman添加MultipartFile)
  3. Java实现单链表的逆序打印
  4. Vue——vue-chartjs[Vue 对于 Chart.js 的封装]
  5. Java Web——文件下载时中文文件名乱码问题解决方案
  6. BugKuCTF 杂项 签到题
  7. Plus from Picture
  8. 巴什博奕(Bash_Game)
  9. redhat 6.4 安装ftp
  10. hadoop 2.4.1 集群安装二