前两天写的花瓣网爬虫,花瓣网是个瀑布式布局,而且下拉的时候发现要登录帐号。本来以为要用requests.post模拟登录,能够顺手练习一下的,结果不登陆帐号也照样可以爬取。一开始是打算用selenium的,后来运行的过程中发现太慢了,遂改用requests库。

import requests
from requests.exceptions import RequestException
import re
import os
from hashlib import md5
from multiprocessing.dummy import Pool as ThreadPooldef get_pictures(word, i):url = 'http://huaban.com/search/?q=' + word + '&page=' + str(i + 1) + '&per_page=20&wfl=1'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.34 ''40.84 Safari/537.36'}response = requests.get(url, headers=headers)if response.status_code == 200:html = response.text# 获得图片的keyre_key = re.compile('file\":.*?key\":\"(.*?)\"', re.S)key_list = re.findall(re_key, html)[1:21]for img in key_list:download_img(img)def download_img(img):url = 'http://img.hb.aicdn.com/' + imgprint('Downloding:', url)try:response = requests.get(url)if response.status_code == 200:save_image(response.content)except RequestException:print('Downloading Error!')def save_image(content):file_path = '{0}/{1}.jpg'.format('D:\\Flower', md5(content).hexdigest())if not os.path.exists(file_path):with open(file_path, 'wb') as f:f.write(content)def main(index):keyword = '宝儿姐'get_pictures(keyword, index)if __name__ == '__main__':# log_in()page = 5group = [x for x in range(0, page)]pool = ThreadPool(8)pool.map(main, group)pool.close()pool.join()

代码量不多,逻辑也不复杂,主要的就是对花瓣网分析,抓取图片的key并进行相应处理。运行该爬虫前先要建立相应的文件夹。没什么太难的地方,也就不多做分析了。如果想要详细了解原理可以参考该博客:

https://blog.csdn.net/coder_pig/article/details/79209418

Python爬虫练习之花瓣网相关推荐

  1. Python 爬虫: 抓取花瓣网图片

    接触Python也好长时间了,一直没什么机会使用,没有机会那就自己创造机会!呐,就先从爬虫开始吧,抓点美女图片下来. 废话不多说了,讲讲我是怎么做的. 1. 分析网站 想要下载图片,只要知道图片的地址 ...

  2. 在当当买了python怎么下载源代码-python爬虫爬取当当网

    [实例简介]python爬虫爬取当当网 [实例截图] [核心代码] ''' Function: 当当网图书爬虫 Author: Charles 微信公众号: Charles的皮卡丘 ''' impor ...

  3. python爬虫爬取音乐_利用python爬虫实现爬取网易云音乐热歌榜

    利用python爬虫实现爬取网易云音乐热歌榜 发布时间:2020-11-09 16:12:28 来源:亿速云 阅读:102 作者:Leah 本篇文章给大家分享的是有关利用python爬虫实现爬取网易云 ...

  4. Python爬虫登录大学官网

    Python爬虫登录大学官网   通过python登录大学官网(当然首先要有账号密码),内容包括:如何使用chrome查看网页信息和网络请求.分析网站通过js加密用户密码的方式.使用python登录网 ...

  5. python爬虫爬取当当网的商品信息

    python爬虫爬取当当网的商品信息 一.环境搭建 二.简介 三.当当网网页分析 1.分析网页的url规律 2.解析网页html页面 书籍商品html页面解析 其他商品html页面解析 四.代码实现 ...

  6. python爬虫爬猎聘网获取多条职责描述中有Linux需求的招聘信息

    python爬虫爬猎聘网获取多条职责描述中有Linux需求的招聘信息 下列是我爬虫的作业 摘 要 随着现代化社会的飞速发展,网络上巨大信息量的获取给用户带来了许多的麻烦.由于工作和生活节奏的需求,人们 ...

  7. 用Python爬虫来爬写真网图片

    用Python爬虫来爬写真网图片 1.我们先要知道Python爬虫的原理 基本的Python爬虫原理很简单,分为三步 获取网页源码 通过分析源码并通过代码来获取其中想要的内容 进行下载或其他操作 话不 ...

  8. Python爬虫_某宝网案例

    Python爬虫_某宝网案例 一.导入第三方库,确定url,定义headers ,伪装爬虫代码 import requests url = 'https://s.taobao.com/search?q ...

  9. [Python爬虫案例]-中国古诗网

    [Python爬虫案例]-中国古诗网 看懂代码,你需要相关知识 爬虫必备知识 只是想得到目标的话,直接运行就好了 import requests import re import jsondef pa ...

最新文章

  1. Android Button监听的方式
  2. Mac下IDEA安装Protobuf插件
  3. python爬虫:带你游览微博博主的前世今生
  4. 工业机器人图册 索罗门采夫_机械手控制电路 机电一体化毕业设计论文.doc
  5. 用python计算工程量_总算懂了工程造价工程量计算方法
  6. python3文本文件读取方法_[Python3] 读取文本文件[TZZ]
  7. DDoS Perl IrcBot v1.0分析复现与处置
  8. 2016年趋势科技夏令营面试题目
  9. XTOOL EZ500全系统的诊断和特殊功能超越Xtool EZ400 EZ300 Xtool PAD
  10. 乱七八糟:迟到的入职两年个人总结
  11. 室内定位——UWB测距及定位原理
  12. 常用SQL语句大全,数据分析师入门必备!
  13. 彩条屋救不了光线传媒
  14. Linux笔记001 初识Linux
  15. 关于安装了非正版Office软件(原电脑有正版)后不能使用原正版office解决方法!!!
  16. 国内服务器绕过备案详细教程
  17. Centos下安装ffmpeg
  18. 零基础入门进化算法(GEP)
  19. android 流行布局,Android流行UI布局——底部导航(BottomNavigationView+ViewPager+Fragment)...
  20. [附源码]Python计算机毕业设计SSM隆庆祥企业服装销售管理系统(程序+LW)

热门文章

  1. 【洛谷】 P1240 诸侯安置(递推)
  2. 搭建hadoop3.x报错 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
  3. 深入理解awgn函数如何向信号中添加高斯白噪声
  4. MATLAB叠加高斯白噪声
  5. Open-Falcon安装部署配置说明文档
  6. 清除浮动以及什么是浮动(float)
  7. 《CrowdDetection:Detection in Crowded Scenes: One Proposal, Multiple Predictions》论文笔记
  8. [足式机器人]Part3机构运动微分几何学分析与综合Ch01-3 平面运动微分几何学——【读书笔记】
  9. 使用你的linux系统下载BT
  10. 你怀疑过“温水煮青蛙”的故事吗