烦恼波及

女票是做运营的,一直苦恼于起推文标题。领导还会频繁突袭:“XX,给这次活动拟一个标题。”

tmd,自己分内的活都干不完,却要为活动策划起标题流汗,不是自己的活,还得笑着干!着实烦人!

更坏的是,负面情绪都是会传染的,女票的烦恼就是咱的烦恼,甚至是大于咱的烦恼。/(ㄒoㄒ)/~~

不过幸好!,咱程序员的本领就是四个字:解决问题。(●'◡'●)

为此,我们可以花几分钟简单写一个爬虫,再想要什么标题,就不用空想了,直接让她挑选就行!女孩子什么的,最爱“逛该”了!

闲言少叙,直接奥里给!

解决思路

本瓜其实是个爬虫新手,不过这也不是啥复杂问题,咱就直接上 python !

(不过事后感觉还是 node 好用,毕竟 js 操作咱都“精通”......)

基本思路:

  1. 安装环境;
  2. 选取目标网站;
  3. 写脚本;
  4. 运行并解析返回结果;
  5. 生成文件;

下面针对以上说说几个要点:

  1. python 安装分为 python2 和 python3,python3 并未向下兼容,两者区别较大,所以建议都安装。命令行也做区分,教程大把,不做赘述;
  2. 选取目标网站,这个很关键,也需要花一点时间。需要分析页面内容和自己的需求匹配程度,然后看请求和数据返回结构来作出选择;
  3. 写爬虫脚本的思路基本上是“引入库”=>“读数据”=>“解析数据”=>“写数据”;
  4. 解析的过程是最重要且最复杂的过程,需要数据结构理的清,正则匹配用的好;
  5. 我们根据需要生成不同的文件,比如 .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
复制代码

就能得到几百条关于中小学教育行业文章标题的爬取数据啦:

意外收尾

如何?花三分钟给女票写一个爬虫,咱也要做一回模范男友,解决女票痛之痛。哈哈

花三分钟给女票写一个爬虫,做一回模范男友!相关推荐

  1. python可抓取数据包括什么_Python对JS型数据抓取有什么特别好的方法吗,pythonjs型抓取,想写一个爬虫,但是需要抓...

    Python对JS型数据抓取有什么特别好的方法吗,pythonjs型抓取,想写一个爬虫,但是需要抓 想写一个爬虫,但是需要抓去的的数据是js生成的,在源代码里看不到,要怎么才能抓到呢? 最好是用pyt ...

  2. 用Node+wechaty写一个爬虫脚本每天定时给女朋友发微信暖心话

    点击上方"前端小苑",选择"置顶公众号" 精品技术文章,热门资讯第一时间送达 wechatBot 微信每日说,每日自动发送微信消息给你心爱的人 项目介绍 灵感来 ...

  3. 用Node+wechaty写一个爬虫脚本每天定时给女(男)朋友发微信暖心话

    wechatBot 微信每日说,每日自动发送微信消息给你心爱的人 项目介绍 灵感来源 在掘金看到了一篇<用Node + EJS写一个爬虫脚本每天定时女朋友发一封暖心邮件>后, 在评论区偶然 ...

  4. Storm【实践系列-如何写一个爬虫】 - ParserBolt

    2019独角兽企业重金招聘Python工程师标准>>> 阅读背景: 如果您对爬虫,或则web前端不够了解,请自行google. 代码前提:您需要参阅本ID 所写的前面两篇博文:  S ...

  5. 用 Python + itchat 写一个爬虫脚本每天定时给女朋友发微信暖心话

    项目介绍: 灵感来源 在掘金看到了一篇<用Node+wechaty写一个爬虫脚本每天定时给女(男)朋友发微信暖心话>后,我就想为什么不用 Python 去实现这个功能呢. JUST TO ...

  6. 5分钟学会Java写一个接口

    今天学习了如何用Java写一个简单的接口,方法简单好用(本人是前端,后端小白) 用的软件是idea,框架是spring boot,在spring boot中创建我们需要的项目就可以开始了. 注:开始运 ...

  7. 写一个爬虫爬取boss直聘网站

    好的,我可以为您简要介绍如何编写一个爬虫来爬取 BOSS 直聘网站. 首先,您需要准备好以下几个东西: 安装 Python,并使用 pip 安装爬虫所需的库,如 requests 和 Beautifu ...

  8. 三分钟给女票写个“彩虹屁”bot-node版本

    一.缘起 最近工作很忙,没时间陪女朋友,再加上她工作比较累,比较忙需要有人每天鼓励她,所以我打算给她每天来点毒鸡汤,然后做个在一起多少天的提示,在查询一下天气,在整点舔狗 暖男必备的骚话,然后每天定时 ...

  9. 10分钟教你写一个数据库

    今天教大家借助一款框架快速实现一个数据库,这个框架就是Calcite,下面会带大家通过两个例子快速教会大家怎么实现,一个是可以通过 SQL 语句的方式可以直接查询文件内容,第二个是模拟 Mysql 查 ...

最新文章

  1. 全面梳理关系型数据库和 NoSQL 的使用情景
  2. vi php自动补全,vim7.2 代码自动补全的配置 | 学步园
  3. java如何实现连接wifi_java-是否可以检测到您要连接的WiFi类型?
  4. 2017-2018-1 20155327 实验四 外设驱动程序设计
  5. linux nginx 安装stream,Centos7下Nginx简单搭建与stream模块简单配置
  6. 图论--边双连通V-DCC缩点
  7. 5-2 Windows消息队列 (25分)
  8. [树状数组][哈希]JZOJ 3240 Seat
  9. 史上最全android分辨率
  10. 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - ActiveXForm在线体验安全设置...
  11. python max_Python max()
  12. Android自定义View控件
  13. 计算机考研英语一和英语二的区别,2018考研英语一与英语二翻译有什么区别?怎么提高?...
  14. 能力提升综合题单Part 8.1 图的存储与遍历
  15. 最新黑马java十次方社交项目教程
  16. 货币代码(ISO 4217)
  17. 计算机基础——局域网、以太网技术、令牌环网
  18. 大数据时代下的网络安全与数据隐私论文
  19. linux无线网卡创建ap,Linux中使用hostapd创建无线AP及相关问题的处理方法
  20. 为什么不想做产品经理

热门文章

  1. 考清华计算机研究生数学看什么,一位考上清华计算机研究生的悲壮历程(数学考了满分).doc...
  2. java aqs实现原理_JAVA基础学习之-AQS的实现原理分析
  3. docker和k8s发展史--理解oci/cri/cni/docker swarm/containerd/runc/dockershim
  4. 基于SkyEye的覆盖率测试
  5. ControllerChannelManager分析
  6. ckeditor拖拽添加html,CKEditorCKFinder结合实现在线HTML编辑器
  7. (77)译码器与编码器(八三编码器)
  8. (64)FPGA模块例化(generate)
  9. (21)FPGA面试题D触发器表示方法
  10. arduino uno 掌控板实现数据上传到阿里云平台