室友单恋班花失败,我爬了一个网站发给他瞬间治愈,男人的快乐就这么简单【每天一遍,忘记初恋】
2021-06-30 13:36
946 查看
大家好,我是辣条。
上回我爬了班花的空间发现她喜欢的人是王俊凯,室友算是彻底死了心,跟我大醉一场后郁郁不振至今,作为他的死党(爸比)我很难受(开心),决心让他重新振作。于是毅然爬了一个网站分享给他,才有了今天这篇文章,分享给大家纯粹是技术交流!请大家备好纸巾...呸呸,请大家备好笔纸,今天的学习开始啦!
效果展示
爬取目标
网址:(网站地址不提供了,我求生欲很强了,审核大大手下留情)
【兄弟萌,不是我整活恶心大家,而是不打码过不了,我怀着赤诚之心跟大家交流技术!】
工具使用
开发环境:win10、python3.7
开发工具:pycharm、Chrome
工具包:requests,lxml,threading
项目思路解析
首页信息为动态加载的数据 数据为动态加载的网页源代码
请求为post请求 传递的参数一个是页面的分类 ,一个是你需要的页数信息
发送请求获取到json数据里的网页源代码 在通过xpath的方式提取出图片的详情页面地址 以及图片对应的名字
response = requests.post(url, headers=headers, data=data).json() print(res 202f9 ponse) html_data = etree.HTML(response['data']) href_list = html_data.xpath('//div[@class="post-module-thumb"]//a/@href') name_list = html_data.xpath('//div[@class="post-module-thumb"]//img/@alt')
请求详情页面的地址获取详细数据信息
提取到对应图片地址 保存对应图片数据
简易源码分享
#!/usr/bin/env python # -*- coding: utf-8 -*- # @File : 萌妹子.py import os import requests from lxml import etree import threading headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' } def get_img(href_list, name_list): for href, name in zip(href_list, name_list): res = requests.get(href, headers=headers) # print(res.text) html = etree.HTML(res.text) img_url_list = html.xpath('//div[@class="entry-content"]/p/img/@src') num = 0 for img_url in img_url_list: result = requests.get(img_url).content path = '图片' if not os.path.exists(path): os.mkdir(path) f = open(path + '/' + name.replace(':', '').replace(':', '') + str(num) + '.jpg', 'wb') f.write(result) num += 1 print('正在下载{}第{}张图片'.format(name, num)) def get_data(url, data): response = requests.post(url, headers=headers, data=data).json() print(response) html_data = etree.HTML(response['data']) href_list = html_data.xpath('//div[@class="post-module-thumb"]//a/@href') name_list = html_data.xpath('//div[@class="post-module-thumb"]//img/@alt') get_img(href_list, name_list) if __name__ == '__main__': for i in range(1, 4): data = { 'index': '1', 'post_paged': str(i) } url = '网站地址不提供,想用来技术学习可以私信我拿' t1 = threading.Thread(target=get_data, args=(url, data)) t1.start()
最好的爱情是双向奔赴,祝大家有情人终成眷属,单身狗们早日脱单!
PS:欢迎大家在评论中交流技术,辣条意在让编程变的更有趣学起来更轻松,不低俗不媚俗不违法违纪,学习新思想,争做新青年
相关文章推荐
- 一个系统就搞定,网站运营就是这么简单!
- 惊呆了,开发发布一个支持web和mobile端的企业网站居然可以这么简单!
- 毛哥的快乐生活 第四章 其实网站就是这么简单的一个小玩意儿
- 如何搭建一个简单的个人网站
- [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(四)
- 用VS2015写一个简单的ASP.net网站
- 零基础使用xampp与WordPress在本地开发一个简单的网站(OS X Yosemite 10.10.5)
- Java Web的一个简单购物网站
- 一个非常简单的根据选择不同的option跳转到不同的网站例子
- 杭州seo每天一研究——一个优秀的网站离不开内链的优化
- 一个简单的网站访问过程
- 你想建设一个能承受500万PV/每天的网站吗?如果计算呢?
- Ruby学习笔记2 : 一个简单的Ruby网站,搭建ruby环境
- 在Python3下使用tornado和SQLAlchemy实现一个简单的MVC网站
- 你想建设一个能承受500万PV/每天的网站吗?如果计算呢?
- 通过一个简单的文章系统学习MVC3+Linq搭建网站(1)
- msdn的一个例子 移动就是这么简单..
- 苗丽:快乐是一个简单的习惯
- 原来认识一个女孩是这么简单
- node.js搭建一个简单的电影网站