前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >花三分钟给女票写一个爬虫,做一回模范男友!

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

作者头像
掘金安东尼
发布2022-09-19 10:32:05
2550
发布2022-09-19 10:32:05
举报
文章被收录于专栏:掘金安东尼

主题列表:juejin, github, smartblue, cyanosis, channing-cyan, fancy, hydrogen, condensed-night-purple, greenwillow, v-green, vue-pro, healer-readable, mk-cute, jzman, geek-black, awesome-green, qklhk-chocolate

贡献主题:https://github.com/xitu/juejin-markdown-themes

theme: juejin highlight:


烦恼波及

女票是做运营的,一直苦恼于起推文标题。领导还会频繁突袭:“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

代码语言:javascript
复制
# 供获取数据
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

运行

代码语言:javascript
复制
python3 index.py

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

意外收尾

如何?花三分钟给女票写一个爬虫,咱也要做一回模范男友,解决女票痛之痛。哈哈🤭,似乎马上就要被表扬了呢~

于是乎,本瓜高兴满满把 .txt 发与女票,结果谁曾想得到如下回复:

好吧,女生“逛该”果然都很挑,打扰了~

咱不如先直接给她画个饼撑饱她吧🤭:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 主题列表:juejin, github, smartblue, cyanosis, channing-cyan, fancy, hydrogen, condensed-night-purple, greenwillow, v-green, vue-pro, healer-readable, mk-cute, jzman, geek-black, awesome-green, qklhk-chocolate
  • 贡献主题:https://github.com/xitu/juejin-markdown-themes
    • 烦恼波及
      • 解决思路
        • 代码实现
          • 意外收尾
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档