想放弃了,这种挫败感,自学的障碍 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vtea
V2EX    随想

想放弃了,这种挫败感,自学的障碍

  •  
  •   vtea 2016-07-30 10:56:26 +08:00 via iPhone 5532 次点击
    这是一个创建于 3362 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人小白,这几天自学 python 爬虫,爬单位内网 oa 。
    各种不顺利啊,单位 oa 要号密码登录,一段时间自动断开,同时是用 ajax 的动态网页。

    起初学 python 一直用标准库, cookie 一直获取不到也登录不了,不知原因,后来发现 requests 第三方库好,又下载了,依然不成功。

    下载了几本 python 书,看着作用不大,网上类似的教程看了也不成功, python 自带的文档看不太懂。

    感觉自己还是因为学的不系统,直接拿来主义,很多东西都不是太了解,网页的基础知识欠缺,只知道 fiddler 抓包看看 post/get 。

    折腾了几天,感觉没什么收获,只会爬爬简单的静态网站。单位都是采用 ajax 的 asp 网站,克服不了,这种挫败感让人想放弃。。。
    第 1 条附言    2016-07-30 16:19:05 +08:00
    谢谢大家热心的鼓励,我要学的东西还有好多,加油
    42 条回复    2016-07-31 19:35:31 +08:00
    kindjeff
        1
    kindjeff  
       2016-07-30 11:04:50 +08:00 via iPhone   1
    那就模拟 ajax 呗
    bengol
        2
    bengol  
       2016-07-30 11:05:37 +08:00 via Android   1
    加油,放弃
    wenmingvs
        3
    wenmingvs  
       2016-07-30 11:06:12 +08:00 via Android   1
    留言看看网友有好的建议不
    Lonely
        4
    Lonely  
       2016-07-30 11:08:32 +08:00 via Android   1
    有问题就问啊…
    loading
        5
    loading  
       2016-07-30 11:09:27 +08:00 via Android   1
    说一声,直连数据库…
    vtea
        6
    vtea  
    OP
       2016-07-30 11:15:28 +08:00 via iPhone
    @kindjeff 不会 ajax 。。。看来要恶补
    @bengol 主要是挫败感
    @wenmingvs @Lonely 问题是我也不太懂,同时单位的 oa 是内网,上不了外网。仅我自己看网页源码,要抓的网页数据是通过 ajax 调用后台数据库。
    PS 吐槽下单位旧系统 php 网页,居然 chrome 登录不行只能 ie6
    phperstar
        7
    phperstar  
       2016-07-30 11:20:46 +08:00   2
    先下载别人的代码看看呀,然后再别人代码上再修改成自己要用的。 造轮子得先学会拆轮子,这样学习起来也比较快
    xiaoshangmin
        8
    xiaoshangmin  
       2016-07-30 11:29:17 +08:00 via iPhone   1
    几天?我在学校自学 php 和 Python 什么问题都是自己搜索解决的 身边就没有一个喜欢打代码的 加过各种技术群 在论坛发过各种问题贴 从一个选错软件专业的人 花了快一年多 懂得 mvc 网页 翻墙 搭 lamp 爬虫 噢对 还会双击装系统 出来工作才发现我应该转行当厨师的 蛋炒饭 水煮方便面不加调料 现在都是我的拿手菜 不说了 要去送外卖了
    6IbA2bj5ip3tK49j
        9
    6IbA2bj5ip3tK49j  
       2016-07-30 11:42:43 +08:00   1
    为什么会有人觉得 ajax 不好抓, ajax 才是最好抓的,直接发请求就好了。
    hellojinjie
        10
    hellojinjie  
       2016-07-30 12:36:56 +08:00 via Android   1
    写代码的时候,你需要旁边有能 google 的电脑。这样自学会很快
    a412739861
        11
    a412739861  
       2016-07-30 12:54:45 +08:00   1
    用 chrome 的 web develop tool , windows 应该是 F12 ,能看出很多东西。也可以会记录请求。
    terence4444
        12
    terence4444  
       2016-07-30 12:59:51 +08:00 via iPhone   1
    从简单的开始
    markx
        13
    markx  
       2016-07-30 13:02:50 +08:00   1
    从简单的开始+1.
    如果一开始有多都不懂的话,做起来确实会很没方向,也会遇到很多奇怪的问题。
    icedx
        14
    icedx  
       2016-07-30 13:05:52 +08:00   1
    看在你经常光顾午夜俱乐部的份上 有啥就问我吧
    INW017bzMfgkkYGn
        15
    INW017bzMfgkkYGn  
       2016-07-30 13:08:28 +08:00   1
    @xgfan 哈哈,那是你还没遇见难抓的,比如: http://www.tianyancha.com/s.json
    Ahri
        16
    Ahri  
       2016-07-30 13:23:08 +08:00   1
    楼主需要先看懂 HTTP 协议。
    yamyamyuo
        17
    yamyamyuo  
       2016-07-30 13:47:19 +08:00   2
    最好的学习方法,看国外的 mooc ,先把国外的计算机基础课程都跟着学下来,并把项目都做了,你慢慢会有感觉,感觉楼主还没入门, google + stackoverflow oriented programming 几乎可以解决你遇到的任何问题,如果还有问题解决不了,那就去 stackoverflow 发帖子问咯
    buckyRRRR
        18
    buckyRRRR  
       2016-07-30 13:54:48 +08:00 via iPhone   1
    才几天而已,而且几天里又有多少时间是在真正在学编程, Python 好学,不过好学是相对的说法,编程本身并不简单呀,最起码过一个月再说吧
    UnisandK
        19
    UnisandK  
       2016-07-30 14:01:05 +08:00   1
    先用 postman 调通了再去写代码实现
    /div>
    DoraJDJ
        20
    DoraJDJ  
       2016-07-30 14:18:57 +08:00 via Android   1
    @xgfan +1 ,只要上 F12 的 Network 标签里寻找 xhr ,然后照着请求弄一个就好了。
    还可以把请求复制成 curl 命令方便研究。
    ytmsdy
        21
    ytmsdy  
       2016-07-30 14:27:15 +08:00   1
    ajax 是最好抓的,请求简单,返回的数据又标准。
    lxy
        22
    lxy  
       2016-07-30 14:40:07 +08:00   1
    我一直觉得爬虫不是新手能够随便上手的东西,简单的静态页面就罢了,遇到稍微复杂点的就容易懵逼。爬虫需要了解一些前端和后端的基础知识,至少知道整个请求交互过程是怎样起作用的。
    wizardforcel
        23
    wizardforcel  
       2016-07-30 14:43:23 +08:00   1
    fiddler 也可以发包的。先用 fiddler 调通了再写 python 吧。
    gpw1987
        24
    gpw1987  
       2016-07-30 14:45:32 +08:00   1
    不好着急呀,有些东西自学是比较枯燥的,所有好的教程还是很有必要的。
    dreamcog
        25
    dreamcog  
       2016-07-30 16:10:10 +08:00   2
    慢慢来~~~以前看过一篇文章,讲如何成为编程高手。大概的意思是说,千万不要相信 XXX 上面的《 15 天精通 XXXX 》,《 7 天成为 XXX 高手》,真正成为一名编程高手需要 10 年。

    最初做项目的时候,我从来没有学过程序,只会做设计和一些 HTML ,后来就自己学 PHP,JS,PYTHON 。直到今天我也会发现每天都在进步,都学习到更多的知识。最重要的事情是找一个 TODO 把要做的事情写下来,然后去一个一个攻克它,最后发现进步的还是自己。

    一定需要兴趣,慢慢来的决心。
    vtea
        26
    < href="/member/vtea" class="dark">vtea  
    OP
       2016-07-30 16:13:21 +08:00
    @loading 不知数据库密码。。
    @phperstar 我也是这么想的,只是发现自己欠缺很多知识
    @xiaoshangmin 大神。。。受我一拜
    @xgfan 我改去学 ajax
    @hellojinjie 恩,是的,有很多前辈的经验
    @a412739861 这个我知道,只是很多看不懂
    @terence4444 是的,抓普通网页保存到 txt 会弄,现在想抓单位的 oa 却不行了
    vtea
        27
    vtea  
    OP
       2016-07-30 16:18:27 +08:00
    @markx 恩,是的,渐进吧
    @icedx 好的大神,求联系方式(手动斜眼)
    @Ahri 恩,要学习的很多
    @yamyamyuo 恩恩,谢谢指点
    @buckyRRRR 因为基础学过 vb ,所以直接想用 python 了,发现遇到好多问题
    @UnisandK 哦哦。一个 chrome 插件,我用 fiddler 抓包的
    @lxy 对对,就是这个感觉,简单的静态网页还行,遇到复杂的就懵逼了
    @wizardforcel 恩,谢谢指点
    @gpw1987 个人感觉有目的驱动比较好,但是自己遇到了大难题,有种挫败感
    @dreamcog 恩,慢慢来,谢谢指点
    cfans1993
        28
    cfans1993  
       2016-07-30 16:21:23 +08:00   1
    @dreamcog 我看的版本和你不一样, 我看是 30 天精通 java, 第一周学习基本语法, 第二周 io, 第三周多线程, 第四周研究时光穿梭机, 第 30 天穿越回 10 年前且杀死自己, 然后重新开始学习... :D 纯属娱乐
    a412739861
        29
    a412739861  
       2016-07-30 17:03:57 +08:00   1
    @vtea 补充一下楼上的 Postman 是 chrome 的一个插件。
    我用的时候是,开 develop tool 看页面结构,
    使用方法,可以看一部分这个,虽然我也没看全: https://github.com/CN-Chrome-DevTools/CN-Chrome-DevTools
    fiddler 抓包应该问题不大了。我还遇到过 js 加密的…… ajax 没遇见过,所以不是很了解。
    我用的 requests+BeautifulSoup4 ,后者解析网页用的,不知道你这用不用的上。
    icedx
        30
    icedx  
       2016-07-30 17:13:16 +08:00 via Android   1
    956815 零 82
    vtea
        31
    vtea  
    OP
       2016-07-30 17:31:08 +08:00
    @a412739861 恩,谢了
    tairan2006
       
    tairan2006  
       2016-07-30 17:32:40 +08:00   1
    看到标题我还在猜,楼主是在自学 Haskell/Scalar 还是 Rust 呢…

    结果竟然是 Python 爬虫,这个其实不难的,动态网页你可以用无界面浏览器,等它加载完了不就是静态网页了。。
    seandor
        33
    seandor  
       2016-07-30 17:33:33 +08:00   1
    我也有过这种经历,以前想爬别人一个博客,我发现右键可以查看源文件里面显示的阅读量的数字,但是我爬虫却抓不到,然后就在网上问别人,别人告诉我这是动态的数据,还说什么 JSON 之类的。那时我连 JSON 是啥都不知道, AJAX 也不知道是啥。后来就放弃了。

    不过最近有了一些新的感悟。我那时搞不定那个数据抓取的问题是因为我面前有一道知识断层,除非我花时间耐心地将这些知识补齐,我是很难跨越过去的。自学就很容易遇到类似的问题。
    vtea
        34
    vtea  
    OP
       2016-07-30 18:04:58 +08:00
    @tairan2006 咦,这些思路不错。。
    @seandor 对、对,就是这样的,因为前面知识有断层,所以各种碰壁,现在开始补知识
    Stupitch
        35
    Stupitch  
       2016-07-30 20:24:50 +08:00 via Android   1
    直接上爬虫,当然问题多多,而且没有方向,先把 Python 基础掌握好了吧,到时候就能懂自己到底要干啥了
    zzzreg
        36
    zzzreg  
       2016-07-30 20:30:11 +08:00   1
    asp 的页面可能爬起来没有那么简单。。之前想爬学校一个设备管理的内部网站,看了一下点击每个链接都是 post 一个表单,表单里一堆莫名其妙的数据, url 根本没有变化。。所以你要去哪个页面必须先到主页,再一步一步点过去,保存书签也是不行的。目测是拿 vs 拖出来的,这种网页还真不好爬。。
    sola97
        37
    sola97  
       2016-07-31 02:00:09 +08:00   1
    之前爬教务系统,写了好几天,抓了部分数据,最后还是拿着现成漏洞直连数据库了
    eoo
        38
    eoo  
       2016-07-31 07:24:06 +08:00 via Android   1
    首先你得会基本的 http 协议和 Python 爬虫所需要的模块。
    scg16
        39
    scg16  
       2016-07-31 10:03:59 +08:00   1
    我也想自学 python 呢,还没开始
    求楼主指路
    BlueMeow
        40
    BlueMeow  
       2016-07-31 13:54:41 +08:00   1
    @zzzreg “莫名其妙的数据”应该是 base64 ,解码下即可知道内容。
    vtea
        41
    vtea  
    OP
       2016-07-31 18:37:09 +08:00
    @zzzreg 是的,刚起步,就碰到一个难题。单位里的网站都是这样的 asp , url 没变化。话说 vs 是指 visual studio 吗?
    @sola97 恩,能直连数据库最好
    @eoo 是的是的
    @scg16 个人感觉有目的性的自学比较有动力,有需求想去解决,于是遇到问题就去学习,应该学的比较快吧
    eoo
        42
    eoo  
       2016-07-31 19:35:31 +08:00 via Android
    @vtea 一边学一边攻克吧。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5532 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 08:58 PVG 16:58 LAX 01:58 JFK 04:58
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86