IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 我用Python爬取1000封情书助力室友表白班花,却反转再反转...原来这就是班花的终极秘密! -> 正文阅读

[Python知识库]我用Python爬取1000封情书助力室友表白班花,却反转再反转...原来这就是班花的终极秘密!

大家好,我是辣条,这是班花系列终章前的最后一篇,下一篇会完结这个系列。?

?前言

?

上次经过给班花邮箱脚本乌龙事件之后,我也心里过意不去,几次帮忙都没搞成,也快毕业了,不想给室友心中留有遗憾,是男人总得自己大大方方的表白一次才行嘛,于是我想到了最原始的表白,写情书!想想以前初中、高中不都流行这种方式嘛。我就爬取了情书网,给室友弄一份手写万字情书,我原以为事情要么成功,要么失败。也算了却心事,只是让我没想到事情却复杂起来了,原来这才是班花的终极秘密...我们三个人又该走向何方...

?

本博客实现的目标

采集情书网 爱情故事 标题与文章内容

爬取目标

http://www.qingshu.so/aiqing/aqgs.html

?

工具使用

开发工具:pycharm
开发环境:python3.7, Windows10
使用工具包:requests,pyquery

重点学习的内容

1. requests请求
2. 请求头反爬设置
3. 文件二级存储

页面分析

使用快捷键 F12 打开浏览器控制台 在源代码页面有包含 该网站为静态页面数据格式

?

下面上代码:

1. 安装对应第三方库 (requests  pyquery)
2. pip install requests

?

?

?

import requests
from pyquery import PyQuery as pq
?
?
url = 'http://www.qingshu.so/aiqing/aqgs.html'
headers = {
 ? ?# 请求服务器 获取需要的数据类型
 ? ?'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
 ? ?'Referer': 'http://www.qingshu.so/bbqs.html', # 防盗链接 主要是验证你是从哪里来的
 ? ?'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36' # 浏览器类型
}
# 发送请求 ? content.decode('utf-8') 返回数据解码
response = requests.get(url, headers=headers).content.decode('utf-8')
print(response)

详情页地址提取

?

doc = pq(response) # 创建pyquery对象
details = doc('.t a').items() # 通过前端css 的 类选择器提取对应数据 (a是标签 在 class='t'的下级) ? (类选择器对应 . ? id选择器对应#)
for i in details:
 ? ?href = i.attr('href') # 提取a标签当中的属性
 ? ?urls = 'http://www.qingshu.so' + href # 拼接url地址
 ? ?print(urls)

详情页

?

详情页代码:

response = requests.get(urls).content.decode('utf-8')
doc = pq(response)
title = doc('.a_title').text() # 标题
content = doc('.a_content.clearfix').text() # 文章内容
print(title)
print(content)

文章存储

def Save(title, content):
 ? ?'''
 ?  文章存储
 ?  :param title: 文章标题
 ?  :param content: 文章内容
 ?  :return: 
 ?  '''
 ? ?path = './情书网文章/'
 ? ?if not os.path.exists(path): # 判断文件夹不存在 就新建一个文件夹
 ? ? ? ?os.makedirs(path)
 ? ?with open(path + '{}.txt'.format(title), 'a') as f:
 ? ? ? ?f.write(content)
 ? ?print('{}已经下载完成....'.format(title))

全部代码

代码太乱了 做了一个简单的函数封装 实现代码解耦

import requests
from pyquery import PyQuery as pq
import os
?
?
def Tools(url):
 ? ?'''
 ?  请求工具函数
 ?  :param url: 请求地址
 ?  :return: 响应
 ?  '''
 ? ?headers = {
 ? ? ? ?# 请求服务器 获取需要的数据类型
 ? ? ? ?'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
 ? ? ? ?# 'Referer': 'http://www.qingshu.so/bbqs.html',  # 防盗链接 主要是验证你是从哪里来的
 ? ? ? ?'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36'
 ? ? ? ?# 浏览器类型
 ?  }
 ? ?# 发送请求 ? content.decode('utf-8') 返回数据解码
 ? ?response = requests.get(url, headers=headers).content.decode('utf-8')
 ? ?return response
?
?
def Save(title, content):
 ? ?'''
 ?  文章存储
 ?  :param title: 文章标题
 ?  :param content: 文章内容
 ?  :return:
 ?  '''
 ? ?path = './情书网文章/'
 ? ?if not os.path.exists(path): # 判断文件夹不存在 就新建一个文件夹
 ? ? ? ?os.makedirs(path)
 ? ?with open(path + '{}.txt'.format(title), 'a') as f:
 ? ? ? ?f.write(content)
 ? ?print('{}已经下载完成....'.format(title))
?
?
def Details(urls):
 ? ?'''
 ?  请求详情页地址 获取 标题也 文章内容
 ?  :param urls: 详情页地址
 ?  :return:
 ?  '''
 ? ?response = Tools(urls)
 ? ?doc = pq(response)
 ? ?title = doc('.a_title').text() # 标题
 ? ?content = doc('.a_content.clearfix').text() # 文章内容
 ? ?Save(title, content)
?
?
url = 'http://www.qingshu.so/aiqing/aqgs.html'
response = Tools(url)
doc = pq(response) # 创建pyquery对象
details = doc('.t a').items() # 通过前端css 的 类选择器提取对应数据 (a是标签 在 class='t'的下级) ? (类选择器对应 . ? id选择器对应#)
for i in details:
 ? ?href = i.attr('href') # 提取a标签当中的属性
 ? ?urls = 'http://www.qingshu.so' + href # 拼接url地址
 ? ?Details(urls)

?

?结尾

在我第二天满怀期待等待室友消息的时候,却收到了班花的一条消息,顿时懵了...彻底懵了...

?我整理整理思绪,也就是说,我以为的班花的秘密前面那些都是我以为的???原来班花的终极秘密就是曾经对我这个钢铁直男有好感!!!啊这...电视剧也不敢拍这么狗血的剧情啊...

我凌乱了..然后缓缓想想怎么处理这个吧...

?

前面回顾:

我用Python修改了班花的开机密码,重新登录后竟然发现了她的秘密!???????

我用Python采集了班花的空间数据集,除了美照竟然再一次发现了她另外的秘密!

室友单恋班花失败,我爬了一个网站发给他瞬间治愈,男人的快乐就这么简单【每天一遍,忘记初恋】

我用Python写了一个邮箱脚本发给班花,没想到事情闹大了...

回答一下大家主要的问题:

这个系列里面的班花、室友是真的吗还是纯故事呢?

?答:这个问题其实很早之前我就回答过大家,包括在我的万粉总结、半年总结也说到,我的创作心路历程都详细说了,这里不做过多解释了,其实真假的问题我说了你们也不会相信,我凭几张截图就能证明我文章里的事情是真实的吗,但是我可以告诉你们的是,我写班花系列的第一篇,就是我找到自己风格定位的第一篇,我把生活中的事结合技术博文写到一起,大大激发了我的创作灵感,生活中的事情被我夸大化了放进博文中,所以你相信就是真的,就当学习里面涉及的技术了,不相信就当假的学习技术的同时看了故事。

文章中公开别人的隐私问题真的好吗?

?答:首先声明,涉及到班花、室友包括我自己所有出现的信息我都打码了的,不管是照片还是其他所有的,至于在文章中写到别人确实需要征得别人的同意才行,我在前两篇中确实没注意到这个问题,但是在这篇中我是征得同意了的,但是因为涉及到文章内容的问题,我就不先公开,在最后一篇中公开了,这个问题大家可以放心?

在一个技术博客网站发“故事文”合适吗?这种文章在技术博客网站有价值吗?

答:故事文判断的标准是什么?我的班花系列文章里没有讲技术吗,相反我的这些文章里技术才是核心,故事只不过是为技术服务的,只不过你的眼光总是盯着这点故事,不在乎我大篇的代码和解析。其二有没有价值判断的标准是什么,你写个多么深度多么牛逼的技术文章结果0个人看,你都没找到自己文章输出的价值点,以及你的受众群体需求点,以及自媒体运营的核心内容,你跟我聊价值,说白了博客的好坏判断标准在用户手里,用户喜欢就能为网站带来流量,能为你快速吸粉,你的文章写出来有人看,有人评论收藏才说明你的文章有价值,当然如果你是一个用爱心发电,写博客纯粹自己学习,服务自己的人,当我没说,你不看就行了,我是写给我的粉丝和我的受众群体看的。

让我真正写下去的,正是粉丝们的认可,他们的评论、点赞、收藏让我感觉到我输出的内容是有价值的,是被大众接受的,更是能和他们产生共情的。

?
行业资料:添加即可领取PPT模板、简历模板、行业经典书籍PDF。
面试题库:历年经典,热乎的大厂面试真题,持续更新中,添加获取。
学习资料:含Python、爬虫、数据分析、算法等学习视频和文档,添加获取
交流加群:大佬指点迷津,你的问题往往有人遇到过,技术互助交流。

领取?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-07 13:48:31  更:2021-10-07 13:48:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:30:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码