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

前言

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

本博客实现的目标

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

爬取目标

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封情书助力室友表白班花,却反转再反转...原来这就是班花的终极秘密!相关推荐

  1. Python爬取大量数据时,如何防止IP被封

    前两天我爬取了猪八戒上的一些数据网址::http://task.zbj.com/t-ppsj/p1s5.html,可能是由于爬取的数据量有点多吧,结果我的IP被封了,需要自己手动来验证解封ip,但这显 ...

  2. Python爬取大量数据时防止被封IP

    From:http://blog.51cto.com/7200087/2070320 基于scrapy框架的爬虫代理IP设置:https://www.jianshu.com/p/074c36a7948 ...

  3. python爬取考研成绩什么时候出来_用Python爬取了考研吧1000条帖子,原来他们都在讨论这些...

    原标题:用Python爬取了考研吧1000条帖子,原来他们都在讨论这些 写在前面 考研在即,想多了解考研er的想法,就是去找学长学姐或者去网上搜索,贴吧就是一个好地方.而借助强大的工具可以快速从网络鱼 ...

  4. python爬取考研成绩什么时候出来_用Python爬取了考研吧1000条帖子,原来他们都在讨论这些!...

    写在前面 考研在即,想多了解考研er的想法,就是去找学长学姐或者去网上搜索,贴吧就是一个好地方.而借助强大的工具可以快速从网络鱼龙混杂的信息中得到有价值的信息.虽然网上有很多爬取百度贴吧的教程和例子, ...

  5. python爬考研_用Python爬取了考研吧1000条帖子,原来他们都在讨论这些!

    写在前面 考研在即,想多了解考研er的想法,就是去找学长学姐或者去网上搜索,贴吧就是一个好地方.而借助强大的工具可以快速从网络鱼龙混杂的信息中得到有价值的信息.虽然网上有很多爬取百度贴吧的教程和例子, ...

  6. 用python爬取考研信息网_用Python爬取了考研吧1000条帖子,原来他们都在讨论这些!...

    写在前面 考研在即,想多了解考研er的想法,就是去找学长学姐或者去网上搜索,贴吧就是一个好地方.而借助强大的工具可以快速从网络鱼龙混杂的信息中得到有价值的信息.虽然网上有很多爬取百度贴吧的教程和例子, ...

  7. 手把手教你使用Python爬取西刺代理数据,不用担心我封IP了!

    /1 前言/ 前几天小编发布了手把手教你使用Python爬取西次代理数据(上篇),木有赶上车的小伙伴,可以戳进去看看.今天小编带大家进行网页结构的分析以及网页数据的提取,具体步骤如下. /2 首页分析 ...

  8. 朋友很喜欢打篮球,我用Python爬取了1000张他喜欢的NBA球星图片送给他【内附源码】

    大家好,我是辣条. 前言 朋友快过生日了,不知道送啥礼物[绝对不是因为我抠],想着他非常喜欢打篮球,篮球他很多个了,应该也不会缺[不会是因为篮球贵],那我就用技术白嫖点东西送给他吧,爬虫首当其冲呀,必 ...

  9. Python 爬取 B 站 5000 条视频,揭秘为何千万人为它流泪!

    [CSDN 编者按]<哪吒>看哭了无数人!编者看的那场,有很多小朋友,一开始他们还被太乙真人的滑稽,逗得哈哈笑.到了哪吒成魔要杀父亲.跪别父母.因为宿命不得以和敖丙为敌时,影院里突然安静下 ...

最新文章

  1. Android 各种工
  2. Lua require 相对路径
  3. 工作302:scss目录编写
  4. java请求servlet,[Java]Servlet发送Post请求
  5. 准确估计透明物体的 3D 姿态:机器人收集 + Keypose 算法
  6. OpenGL驱动质量的事实现状(精简翻译版)
  7. oracle数据库异常---SP2-1503: 无法初始化 Oracle 调用界面 SP2-1503: 无法初始化 Oracle 问题的解决办法
  8. [No000089]String的(补空位)左对齐,(补空位)右对齐
  9. android 中如何监听耳机键消息
  10. linux u盘 随身,教你安装CentOS到U盘,制作随身Linux系统
  11. 传感器实验——LCD显示SHT20
  12. app开发预算究竟多少?看你多花了多少冤枉钱
  13. Threejs 字体单独发光
  14. 邮箱如何群发邮件,公司邮件群发教程
  15. 书小宅之android——聊天界面的实现
  16. 信号完整性(SI)电源完整性(PI)学习笔记(三十四)100条估计信号完整性效应的经验法则
  17. HTML5网站大观:精美的 HTML5 商业网站设计案例
  18. 海外服务器被攻击怎么办?IP被封要如何处理?
  19. spark官方配置参数详解
  20. 目标检测数据集:潜艇(1)

热门文章

  1. POJ1062 昂贵的聘礼(最短路径)
  2. gulp自己主动化任务脚本在HybridApp开发中的使用
  3. React 源码剖析系列 - 不可思议的 react diff
  4. 现代质量管理方法的应用思考和实践
  5. 解决 DBMS_AW_EXP: BIN$*****==$0 not AW$
  6. LOJ.114.K大异或和(线性基)
  7. iOS NSString追加字符串的方法
  8. TCP/IP详解读书笔记:链路层
  9. oracle 安装
  10. shell命令xargs