Python教程

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

本文主要是介绍我用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爬取1000封情书助力室友表白班花,却反转再反转...原来这就是班花的终极秘密!的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!