A8U几年前接过一个项目,类似一个 PHP 爬虫程序,做一个微博舆情分析系统:要爬取新浪微博,用特定关键词搜索中的页面的微博内容。

那是我第一次接触网络爬虫,根本没有思路,也不了解什么Scrapy等公开的爬虫开源项目,于是乎甩膀子自己开干。(当时微博的api不支持搜索)
一个礼拜后,利用HttpClient简单实现了爬取一个网页,当时兴高采烈的以为核心问题已经解决,于是乎放慢了项目开发的速度;
之后的某一天,猛地发现,新浪微博搜索页面,不登录是根本无法读到的,当时已经快接近最后deadline,而我给后面预留的时间是用来写Web界面的,当时真的汗都下来了;之后的每一天一起床,巨大的压迫感逼着我全力寻找解决办法;
一开始,试着去模拟登录,后来发现,他的登录模块是用JavaScript通过Ajax来Post的,而且通过一大串复杂的javaScript代码生成了某个随机的key post上去。难不成我得去实现个JavaScript V8引擎?
再后来,突然灵光一现,想到用手机网页试试,结果手机网页没有用到Ajax,哈哈,高兴坏了,搞了3天终于搞定了,能够爬取任意关键词的搜索信息了,再后来,我把项目顺利delive了。
然后我把爬虫代码共享给了我的同事。
...
一个月后,他告诉我,某网站(cl)所有的bt种子都被他搞到了,瞬间无语。 
原文链接:PHP 程序员如何设计一个爬虫程序

PHP 程序员如何设计一个爬虫程序相关推荐

  1. 漫谈程序员系列:一个老程序员的2014年终总结

    人生天地之间,若白驹过隙,忽然而已.蓦然回首,头上似霜雪,脸上似山川.我的 2014 啊,你就这么毫无眷恋地离我而去了.既然往事已不可追,未来尚未到来,在这年末岁首的间隙,就让我来回忆一下余烟尚存的 ...

  2. 双十二结束了,程序员如何设计一个秒杀系统?

    秒杀系统的关键点: 秒杀系统其实主要解决2个问题,一个是并发读,一个是并发写.整体概况为"稳.准.快" 高性能. 秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键.本文 ...

  3. 程序员之路——一个老程序员对刚上大学的学弟学妹的忠告

    原始链接已不可考,原文略有改动. 始终认为,对一个初学者来说,IT界的技术风潮是不可追赶. 我时常看见自己的DDMM们把课本扔了,去买些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常 ...

  4. 某百度程序员中午面试一个阿里程序员,晚上去阿里面试,面试官竟是中午那个人!

    世界之大无奇不有,有些巧合简直就是天作之合,就像下面这位百度程序员和阿里程序员的故事. 某百度程序员发帖吐槽:中午面试了一个阿里程序员,问了他一些刁钻的问题,结果自己晚上去阿里面试,面试官竟然就是中午 ...

  5. 某百度程序员中午面试一个阿里程序员,晚上去阿里面试,面试官竟是中午那个人!...

    世界之大无奇不有,有些巧合简直就是天作之合,就像下面这位百度程序员和阿里程序员的故事. 某百度程序员发帖吐槽:中午面试了一个阿里程序员,问了他一些刁钻的问题,结果自己晚上去阿里面试,面试官竟然就是中午 ...

  6. 程序员过关斩将--作为一个架构师,我是不是应该有很多职责?

    点击上方"蓝字"关注我们领取架构书籍 每一个程序员都有一个架构梦. 上面其实本质上是一句富有事实哲理的废话,要不然也不会有这么多人关注你的公众号.这些年随着"企业数字化& ...

  7. 第一位程序员原来是一个女性!

    在从事IT行业中,女性并不多,这也形成了很多人一贯的偏见,计算机都是男生做的,女孩子做不来. No.1 世上第一位程序员是名贵族小姐 但你知道吗?世界上第一位程序员出现在200多年前,而且还是一位贵族 ...

  8. 是不是程序员总会遇到一个瓶颈期,觉得自己没有进步了,该怎么解决?

    这里是修真院前端小课堂,本篇分析的主题是 [是不是程序员总会遇到一个瓶颈期,觉得自己没有进步了,该怎么解决?] 前言 这是IT修真院自问自答系列第十五篇,同样是干货和硬广混杂. 一 程序员的困惑 第一 ...

  9. 一个程序员,写在告别程序员生涯时说的话

    点击上方"码农突围",马上关注,每天早上8:50准时推送 真爱,请置顶或星标 本文转载自https://bbs.csdn.net/topics/360126108,作者:cllov ...

最新文章

  1. 五、线程的概念和特点
  2. Ubuntu find命令详解
  3. JAVA开发者的Golang快速指南
  4. 人生,能有多少个十年?| PMCAFF 十年故事
  5. invalid table name什么意思_新手入门前端要学习什么?总结一些知识点(建议收藏)...
  6. 读excel文件至DataTable
  7. 中断处理过程示意图_聊聊什么是中断机制?
  8. 用C#开发Windows应用程序
  9. Scrapy 1.4 文档 01 初窥 Scrapy
  10. ffmpeg编码越来越小_从ffmpeg源代码分析如何解决ffmpeg编码的延迟问题(5)
  11. 涉密专用服务器审计系统,国产专用服务器主机审计
  12. Python+Opencv图像处理新手入门教程(三):阈值与二值化
  13. 如何在 macOS 上禁用 Adob​​e 后台进程,保存 CPU、内存和网络活动?
  14. cmd代码表白_python表白神器你值得拥有
  15. 柠檬班软件测试002软件测试的定义
  16. debian关闭图形界面_禁止debian自动启动图形界面
  17. dB, -3dB, -6dB相关知识
  18. 酒店管理系统功能模块图
  19. 中国第一代***骄傲
  20. 从零开始学习NLP - 综述与论文查找指南(待更新)

热门文章

  1. python不同版本共存_多个python版本共存时的pip配置
  2. 金三银四!你想好转行产品经理了吗?
  3. 2022百度职业资格考试培训行业洞察
  4. 面试题,你什么时候可以入职?回答不好,容易被压薪资
  5. 2020年房产经纪行业和购房市场洞察报告
  6. mysql整理_MySQL 日常整理
  7. 专题导读:科学数据治理
  8. 热烈祝贺我刊主编郑纬民教授被提名为中国工程院2017年院士增选候选人!
  9. 作者:邓景文(1982-),女,中国联合网络通信集团有限公司电子商务部工程师...
  10. 【2016年第4期】突发大数据在存储辅助光电路交换网络中的传输