花三分钟给女票写一个爬虫,做一回模范男友!
烦恼波及
女票是做运营的,一直苦恼于起推文标题。领导还会频繁突袭:“XX,给这次活动拟一个标题。”
tmd,自己分内的活都干不完,却要为活动策划起标题流汗,不是自己的活,还得笑着干!着实烦人!
更坏的是,负面情绪都是会传染的,女票的烦恼就是咱的烦恼,甚至是大于咱的烦恼。/(ㄒoㄒ)/~~
不过幸好!,咱程序员的本领就是四个字:解决问题。(●'◡'●)
为此,我们可以花几分钟简单写一个爬虫,再想要什么标题,就不用空想了,直接让她挑选就行!女孩子什么的,最爱“逛该”了!
闲言少叙,直接奥里给!
解决思路
本瓜其实是个爬虫新手,不过这也不是啥复杂问题,咱就直接上 python !
(不过事后感觉还是 node 好用,毕竟 js 操作咱都“精通”......)
基本思路:
- 安装环境;
- 选取目标网站;
- 写脚本;
- 运行并解析返回结果;
- 生成文件;
下面针对以上说说几个要点:
- python 安装分为 python2 和 python3,python3 并未向下兼容,两者区别较大,所以建议都安装。命令行也做区分,教程大把,不做赘述;
- 选取目标网站,这个很关键,也需要花一点时间。需要分析页面内容和自己的需求匹配程度,然后看请求和数据返回结构来作出选择;
- 写爬虫脚本的思路基本上是“引入库”=>“读数据”=>“解析数据”=>“写数据”;
- 解析的过程是最重要且最复杂的过程,需要数据结构理的清,正则匹配用的好;
- 我们根据需要生成不同的文件,比如 .txt 、.xml 等,它们都有对应的库,调用即可;
代码实现
接下来直接上代码:
- 注:爬取数据有的是从返回的 HTML DOM 里面拿,有的是从 XHR/JS 返回的 DATA 里面拿;根据需要选择,本次取后者~
// index.py
# 供获取数据
import requests
# 供字符串转数组
import json
# 设置 headers 防止被封
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3"
}
# 变量申明
write_content = ''
# 目标 url,解析参数很重要,此处的 size 原本为 10,可调整至 1000,就不用写循环了
url = "https://v2.sohu.com/integration-api/mix/region/10431?size=1000&adapter=pc&secureScore=50&page=1"# 接受数据字符串
res = requests.get(url, headers=headers).text
# 字符串转 json
j = json.loads(res)
# 拿到 data 数据
dataArr=j["data"]# 遍历
for i in dataArr:try:print(i['title'])# 标题 + 换行write_content = i['title']+'.\n'+'.\n'with open("souhuEduTitle.txt","a",encoding="utf-8") as f:f.write(write_content)# 此处错误捕获非常重要,目标网站列表有些是广告项,没有 title 属性except KeyError:pass
复制代码
运行
python3 index.py
复制代码
就能得到几百条关于中小学教育行业文章标题的爬取数据啦:
意外收尾
如何?花三分钟给女票写一个爬虫,咱也要做一回模范男友,解决女票痛之痛。哈哈
花三分钟给女票写一个爬虫,做一回模范男友!相关推荐
- python可抓取数据包括什么_Python对JS型数据抓取有什么特别好的方法吗,pythonjs型抓取,想写一个爬虫,但是需要抓...
Python对JS型数据抓取有什么特别好的方法吗,pythonjs型抓取,想写一个爬虫,但是需要抓 想写一个爬虫,但是需要抓去的的数据是js生成的,在源代码里看不到,要怎么才能抓到呢? 最好是用pyt ...
- 用Node+wechaty写一个爬虫脚本每天定时给女朋友发微信暖心话
点击上方"前端小苑",选择"置顶公众号" 精品技术文章,热门资讯第一时间送达 wechatBot 微信每日说,每日自动发送微信消息给你心爱的人 项目介绍 灵感来 ...
- 用Node+wechaty写一个爬虫脚本每天定时给女(男)朋友发微信暖心话
wechatBot 微信每日说,每日自动发送微信消息给你心爱的人 项目介绍 灵感来源 在掘金看到了一篇<用Node + EJS写一个爬虫脚本每天定时女朋友发一封暖心邮件>后, 在评论区偶然 ...
- Storm【实践系列-如何写一个爬虫】 - ParserBolt
2019独角兽企业重金招聘Python工程师标准>>> 阅读背景: 如果您对爬虫,或则web前端不够了解,请自行google. 代码前提:您需要参阅本ID 所写的前面两篇博文: S ...
- 用 Python + itchat 写一个爬虫脚本每天定时给女朋友发微信暖心话
项目介绍: 灵感来源 在掘金看到了一篇<用Node+wechaty写一个爬虫脚本每天定时给女(男)朋友发微信暖心话>后,我就想为什么不用 Python 去实现这个功能呢. JUST TO ...
- 5分钟学会Java写一个接口
今天学习了如何用Java写一个简单的接口,方法简单好用(本人是前端,后端小白) 用的软件是idea,框架是spring boot,在spring boot中创建我们需要的项目就可以开始了. 注:开始运 ...
- 写一个爬虫爬取boss直聘网站
好的,我可以为您简要介绍如何编写一个爬虫来爬取 BOSS 直聘网站. 首先,您需要准备好以下几个东西: 安装 Python,并使用 pip 安装爬虫所需的库,如 requests 和 Beautifu ...
- 三分钟给女票写个“彩虹屁”bot-node版本
一.缘起 最近工作很忙,没时间陪女朋友,再加上她工作比较累,比较忙需要有人每天鼓励她,所以我打算给她每天来点毒鸡汤,然后做个在一起多少天的提示,在查询一下天气,在整点舔狗 暖男必备的骚话,然后每天定时 ...
- 10分钟教你写一个数据库
今天教大家借助一款框架快速实现一个数据库,这个框架就是Calcite,下面会带大家通过两个例子快速教会大家怎么实现,一个是可以通过 SQL 语句的方式可以直接查询文件内容,第二个是模拟 Mysql 查 ...
最新文章
- 全面梳理关系型数据库和 NoSQL 的使用情景
- vi php自动补全,vim7.2 代码自动补全的配置 | 学步园
- java如何实现连接wifi_java-是否可以检测到您要连接的WiFi类型?
- 2017-2018-1 20155327 实验四 外设驱动程序设计
- linux nginx 安装stream,Centos7下Nginx简单搭建与stream模块简单配置
- 图论--边双连通V-DCC缩点
- 5-2 Windows消息队列 (25分)
- [树状数组][哈希]JZOJ 3240 Seat
- 史上最全android分辨率
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - ActiveXForm在线体验安全设置...
- python max_Python max()
- Android自定义View控件
- 计算机考研英语一和英语二的区别,2018考研英语一与英语二翻译有什么区别?怎么提高?...
- 能力提升综合题单Part 8.1 图的存储与遍历
- 最新黑马java十次方社交项目教程
- 货币代码(ISO 4217)
- 计算机基础——局域网、以太网技术、令牌环网
- 大数据时代下的网络安全与数据隐私论文
- linux无线网卡创建ap,Linux中使用hostapd创建无线AP及相关问题的处理方法
- 为什么不想做产品经理
热门文章
- 考清华计算机研究生数学看什么,一位考上清华计算机研究生的悲壮历程(数学考了满分).doc...
- java aqs实现原理_JAVA基础学习之-AQS的实现原理分析
- docker和k8s发展史--理解oci/cri/cni/docker swarm/containerd/runc/dockershim
- 基于SkyEye的覆盖率测试
- ControllerChannelManager分析
- ckeditor拖拽添加html,CKEditorCKFinder结合实现在线HTML编辑器
- (77)译码器与编码器(八三编码器)
- (64)FPGA模块例化(generate)
- (21)FPGA面试题D触发器表示方法
- arduino uno 掌控板实现数据上传到阿里云平台