我想学用Python抓网页,还望大家建议下学习的路线

binarymann

来自: binarymann(repetition)
2011-01-08 23:21:05

×
加入小组后即可参加投票
  • mimighost

    mimighost (椎名林檎是真正的魔女) 2011-01-08 23:22:59

    菜鸟一只,不过貌似不是很复杂把,如果只写简单的,了解一下urllib库和多线程就行了,其他的请楼下的大牛指点吧

  • simpx

    simpx (什么是签名档?) 2011-01-08 23:55:18

    你不需要很懂python。 但至少你要知道python代码写哪儿,怎么运行。 然后你要知道几个抓网页用到的库,urllib2,BeautifulSoup之类,只是使用而已,就按照他们说的,按照顺序写几个函数,把里面的参数改成你要的就可以了。 最后,你可以看看http://hi.baidu.com/tongwensong/blog/item/c1168cb1d5cea244082302d3.html 这个总结的不错。一些具体的方法。

  • simpx

    simpx (什么是签名档?) 2011-01-08 23:57:56

    具体点你可以去找一个教程,简明python教程不错的。然后按照里面的代码,一行一行自己敲过去。知道程序怎么编写运行,就好了。要有耐心,纠结完一遍后你就差不多知道程序怎么个写法,然后看看我说的这个网址,把例子都写进去试试,改改,就出来了。

  • aw3som3

    aw3som3 2011-01-09 09:18:19

    还有,简单的正则表达式也会要学的,用来过滤不必要的内容

  • 流沙者

    流沙者 (流沙者,忆追逝,惜拥有!) 2011-01-09 19:31:31

    1,import urllib 2,打开网站,如果是批量,写个for循环 3,beautifulsoup或自己写过滤,过滤一下html标签 4,输出 5,运行

  • binarymann

    binarymann (repetition) 楼主 2011-01-09 20:51:17

    谢谢大家啦!!!

  • cz

    cz (cczopy.cloudfoundry.com) 2011-01-10 09:42:11

    分析html,建议用pyquery, beautifulsoup内存泄露

  • mrshelly

    mrshelly ((广告位出租,有意豆邮)) 2011-01-10 10:04:55

    懂HTTP 才行....

  • J

    J (nullo die sine linea) 2011-01-10 11:24:51

    我也挺感兴趣的,mark

  • ???

    ??? (晒黑啦=。=) 2011-01-10 11:33:45

    马克。

  • y

    y 2011-01-10 11:43:30

    scrapy

  • ctycheer

    ctycheer (行到水穷处,坐看云起时) 2011-01-10 12:13:10

    mark

  • echo_要奋斗

    echo_要奋斗 (努力过,就不会后悔) 2011-01-10 12:16:59

    mark,向善良的牛人们致敬 =D

  • fish_shy

    fish_shy (爱憎不能分明) 2011-01-10 12:21:37

    mark 以后用的上

  • 消失

    消失 (Wake up) 2011-01-10 12:30:49

    这有何难,掌握几个基本库的使用加上正则不就可以搞定了。

  • [已注销]

    [已注销] 2011-01-10 12:35:02

    [内容不可见]

  • felinx

    felinx (Less is more) 2011-01-10 17:08:22

    别再用beautifulsoup了,用libxml2。

  • 肘花开了

    肘花开了 2011-01-10 17:40:50

    beautifulsoup 好像臭了

  • 柯西

    柯西 (nothing!) 2011-01-10 18:37:01

    mark

  • Kimmy

    Kimmy (Lang Live the World!) 2011-01-11 15:19:57

    Mark

  • royeegg

    royeegg (hydroxytryptophan) 2011-01-11 15:30:25

    我写过一个,用SGMLParser做的过滤,不过有bug,有时候处理jsp会出问题。。。 写这个的时候还不懂python,当时从学习到完成就用了一周多吧,python学起来确实方便

  • 普通的先生

    普通的先生 (好奇的欲望,是即将到来的末日) 2011-01-12 16:35:01

    想学呢

  • 绿肥

    绿肥 (苦寻八瓣格桑梅朵!) 2011-01-12 17:12:01

    MARK,备用

  • ....

    .... (有用能用易用) 2011-01-12 18:06:58

    mark

  • 斗战木桶伯

    斗战木桶伯 (非上上智,无了了心。) 2011-01-13 11:38:35

    flash图表的数据能抓下来吗?

  • mickey

    mickey (头像是本人) 2011-01-13 17:02:19

    MARK!

  • 维法钵扎店

    维法钵扎店 2011-01-13 18:52:48

    我发现有朋友和我用一样的tx : )

  • 东邪

    东邪 (复杂杀死一切) 2011-01-13 20:23:57

    顶!

  • zhatrix

    zhatrix 2011-01-13 21:47:11

    mark

  • 天亮了

    天亮了 (5.11D) 2011-01-14 16:50:24

    Django+python+BeautifulSoup组合的垂直搜索爬虫http://www.yiihsia.com/2010/11/djangopythonbeautifulsoup%E7%BB%84%E5%90%88%E7%9A%84%E5%9E%82%E7%9B%B4%E6%90%9C%E7%B4%A2%E7%88%AC%E8%99%AB/ 以前写的Django用来管理链接,BeautifulSoup用来解析网页,里面的代码是抓取豆瓣电影的信息

  • geekgao

    geekgao (simple is better) 2011-01-14 19:34:52

    socket编程得懂点、多线程得会、http协议得明白、python基础必须扎实、熟练的处理文本字符(字符串处理函数、正则表达式等)

  • [已注销]

    [已注销] 2011-01-15 13:29:19

    [内容不可见]

  • mhb

    mhb 2011-01-18 23:57:41

    Scrapy

  • wwj_douban

    wwj_douban 2011-01-19 00:51:50

    抓网页主要涉及“”网络I/O“”和“”网页解析“”两部分,解析网页需要掌握正则表达式,而网络编程尤其是正则表达式可是Perl的绝技,只是Perl不太新潮了。话说回来,Python也早不算新潮了,Haskell、Scala、Erlang,甚至是JavaScript,那一个都比它新潮。 =========================================================== 闲话少说,无论用什么语言,建议先用一个字符串模拟已经抓到的网页,解析出自己想要的部分。再把真实的网页复制到字符串里,循序渐进。然后学网络I/O、多线程、甚至是Robot协议、中文分词、自然语言处理,Google当年就是这么起家的。

  • wwj_douban

    wwj_douban 2011-01-19 01:09:38

    还有一个方法 把要抓取的跨域网页嵌入JavaScript的src中,再解析DOM。 参见: http://plog.longwin.com.tw/programming/2008/12/15/javascript-ajax-get-cross-domain-data-2008

  • stallboy

    stallboy (信念即自我实现预言) 2011-01-19 01:31:15

    现在想想,的确是js最方便啊,(如果要作为脚本,可以用node+yui),css selector来找元素,应该是最方便的。

  • J

    J (nullo die sine linea) 2011-01-19 10:21:15

    谢谢@wwj_douban的链接,学习学习~

  • 花吃了那男孩

    花吃了那男孩 (我多么想一个不小心和你白头偕老) 2011-01-19 11:00:31

    [内容不可见]

  • [已注销]

    [已注销] 2011-01-19 14:45:43

    [内容不可见]

  • xhaii

    xhaii (晒母昂油) 2011-01-19 17:09:09

    满屏的mark google urllib+re+threading python干这个很简单

  • tisiem

    tisiem 2011-01-20 11:37:43

    啧,不得不说:马克。

  • 纳米牛排

    纳米牛排 2011-03-16 00:12:00

    学习学习,感兴趣……

  • lakeblur

    lakeblur (wish you were here) 2011-03-16 00:17:25

    Mark

  • _

    _ 2011-03-16 07:06:23

    mark

  • myt007

    myt007 2011-03-17 10:45:57

    mark~

  • compound

    compound (I'm on it) 2011-03-17 14:49:11

    mark

  • bluekee

    bluekee (冬练三伏,夏练三九) 2011-03-17 15:09:58

    为神马好人这么多???? 我在研究 PYTHON 里面的COOKIELIB

  • emmet

    emmet 2011-03-17 17:08:51

    还是要html等方面的基础~~python只是工具~~~基础好了用python就灵活了~~~

  • Jackzzg

    Jackzzg (专注!) 2011-03-17 18:09:36

    跟我在做同一件事情,,使用模块:urllib2 + re 抓取网页。。 准备弄一个多线程下载,还没下手。。

  • 此帐号已注销

    此帐号已注销 2011-04-19 18:10:33

    抓站,最基本的就是find , index 函数,使用list 切片. 方便点的,第三方库。 高级点的, urllib2 + re 。 自己写。

  • Prim

    Prim 2011-04-19 18:14:05

    mark \

  • Thermo

    Thermo (__我爱python__) 2011-04-20 01:43:10

    为了收藏该贴,只好写上对他人无实际价值的话,太多mark了,留此印记。

  • 小4,

    小4, (Don't leave me,plz.) 2011-04-20 01:50:09

    M

  • 小秋

    小秋 (I like python) 2011-04-20 08:57:42

    如果简单的抓一个页面,就urllib2 + re,不过抓页面内容比较多,可以把re换成pyquery; 如果抓一个站,你最好用用多线程,一个任务抓网页,另一个任务慢慢处理; 如果站需要登录再抓取,你又得使用cookies支持; observer有两文章写得很好,我推荐给你: http://obmem.info/?p=476 http://obmem.info/?p=753

  • 俊哥哥

    俊哥哥 (前程似锦) 2011-04-20 09:21:00

    mark

  • 不闷狗

    不闷狗 2011-04-20 11:47:52

    对的,抓网页很容易,亮点在分析html 而且python有scrapy库,直接用爬虫

  • wick

    wick (Linux Vim PHP Python JS CSS) 2011-04-23 16:31:20

    Python + YQL 应该够简单了

  • tylr42

    tylr42 2011-10-06 13:09:35

    js做爬虫挺有意思的

  • scriptkids

    scriptkids 2011-10-06 14:39:22

    学习了...

  • whtsky

    whtsky 2011-10-06 20:38:25

    mark吧…

  • 欧阳威

    欧阳威 (我心中尚未崩坏的地方) 2011-10-06 20:54:53

    mark

  • 牛皮糖

    牛皮糖 (最后的夏天) 2011-10-07 19:15:46

    Python来干这个活是很适合的,因为它内置许多高能电池LOL。 抓网页主要就是解析HTML,从简单的1和2开始。 1.首先需要看下urllib2,然后使用基于HTML标记的HTMLParser或基于正则表达式的re来解析HTML页面,也可以用BeautifulSoup,也可以使用DOM树,方法有很多,哪个好哪个坏,你可以自己去试试 2.这页面在内存里肯定还要保存到硬盘吧,那你看下os,time和文件的I/O =========================================================== 之后过了几天...你想把这个简陋的脚本变成一个性能强大功能完善的蜘蛛了~ =========================================================== 3.可能你对简单的文件存储不满意了,需要结构化存储,你可以看看自带的sqlite3或者第三方的mysql 4.你可能会对单线程的速度不满意了,看看多线程,看看threading。网络的突然堵塞导致你的爬虫性能不高,为了不用线程阻塞在那里等待网页抓过来或者写完磁盘文件,你看看异步IO操作 5.许多网站是有反爬虫机制,或者带有robot.txt,那你可能需要学习一些网络爬虫的行规 6.爬下来的网页中需要更新吧,看看HTTP协议,发个HEAD请求看看页面有没有变化是否要重新抓取呢。当然一些网站不一定支持,你可能得标注这个页面的更新时间、权重制定更新策略。 7.到了这里我告诉你,其实有个叫Scrapy的Python网络爬虫框架。不要郁闷,比较下人家的优点,看看异步网络通信,看看Twisted。 8.然后你觉得抓取的信息里面有很多都是你不想要的,那就需要各种NLP技术,中文分词、词性标注、句法分析、信息提取等等,看看Python自然语言处理了,我很懒= =,没看完,这里有我的一点点关于NLTK的笔记,希望能对你有一点帮助: http://www.cnblogs.com/yuxc/archive/2011/08/29/2157415.html 9.不知道我今天为啥敲了那么多- -新手一枚,多多交流,共同进步。

  • 熊pp

    熊pp (...) 2011-10-07 19:18:31

    mark

  • evan812923

    evan812923 (day day up) 2011-10-07 20:25:33

    mark

  • Jack.Ji

    Jack.Ji 2011-10-10 12:00:16

    我写过简单的,针对自己的需求的采集程序 思路可以参考 http://www.91python.com/archives/tag/html%E9%87%87%E9%9B%86

  • Joey

    Joey (慢慢的快起来) 2011-10-10 12:05:27

    参考咯

  • 小秋爱搜索

    小秋爱搜索 (豆瓣我来了!) 2011-10-10 12:33:12

    兴趣在搜索,发现要学的东西太多了,赶紧Mark下!

  • Ernestine

    Ernestine (太热了,太闷了,是酝酿刮风吧) 2011-10-10 22:15:14

    mark

  • Mel

    Mel (沉住气) 2011-10-10 23:58:43

    not bad.

  • dived

    dived (john.117) 2011-10-11 23:42:48

    百度直播 抓楼主 http://www.zouzhan.net/2011/10/9/baiduzhibo.html 天涯直播 http://www.zouzhan.net/2011/10/9/zhibotianya.html 能看到效果。不知道怎么用SGMLPARSER 和HTMLPARSER写

  • 白日门

    白日门 (Enough Poking, Lets Just H-Sex) 2011-10-12 00:16:16

    python 有 soup java 也有 soup 叫 jsoup 这个东西用起来 会cssSelect (jquery) 就很方便了 我们的站都是用这个抓的 http://www.luntan100.com/ 抓精华贴 只看楼主,用css选择器搞的

  • LuzJoy

    LuzJoy 2011-10-12 13:45:18

    google write google write google write just do it

  • dilys

    dilys (我自倾杯 君且随意) 2011-10-12 14:20:15

    喔,我打算试试,又有事儿干了

  • baobaonanpo

    baobaonanpo 2011-10-12 14:24:01

    mark之

  • 0x0503

    0x0503 (很努力,才能看起来毫不费力。) 2011-10-12 16:49:37

    simplecd.org这个开源项目就是干这个的,值得你学习。

  • wonder

    wonder (Keep It Simple, Stupid.) 2011-10-14 09:08:42

    mark

  • Joe

    Joe 2011-10-15 23:17:08

    mark

  • wu

    wu 2012-03-08 16:57:44

    谢谢大家的分享

  • 诸葛暗

    诸葛暗 (勿待老来方学道,孤坟多是少年人) 2012-03-08 18:19:25

    学习了:)

  • 低调男

    低调男 (我要让全世界都知道我很低调) 2012-03-08 20:43:35

    mark

  • crifan

    crifan (此处为签名档) 2012-11-08 13:23:07

    先去搞懂网站抓取相关的逻辑: 【整理】关于抓取网页,分析网页内容,模拟登陆网站的逻辑/流程和注意事项 http://www.crifan.com/summary_about_flow_process_of_fetch_webpage_simulate_login_website_and_some_notice/ 然后再用工具分析具体流程: 【教程】手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程 http://www.crifan.com/use_ie9_f12_to_analysis_the_internal_logical_process_of_login_baidu_main_page_website/ 最后才是用Python去实现对应的逻辑,抓取所需的数据: 【教程】抓取网并提取网页中所需要的信息 之 Python版 http://www.crifan.com/crawl_website_html_and_extract_info_using_python/ 【教程】模拟登陆网站 之 Python版(内含两种版本的完整的可运行的代码) http://www.crifan.com/emulate_login_website_using_python/

  • 孤风涯

    孤风涯 2012-11-15 01:02:44

    M

  • 孔祥赫

    孔祥赫 (莫说相公痴,更有痴似相公者。) 2012-11-15 09:33:50

    不如用nodejs,逻辑更加简单,可以忽略掉不少问题

  • 易读

    易读 2012-11-15 14:34:06

    不如用nodejs,逻辑更加简单,可以忽略掉不少问题 不如用nodejs,逻辑更加简单,可以忽略掉不少问题 孔祥赫

    都这样说,可以做一个示范吗?

  • 孔祥赫

    孔祥赫 (莫说相公痴,更有痴似相公者。) 2012-11-16 08:27:51

    好吧,我这就贴上来一些用到的js模块,自己去搜来源,如何使用 http-get模块,用来下载http cheerio模块,用来解析html 当然,还有些细节的逻辑,这就要靠你自己体会了

  • 易读

    易读 2012-11-17 05:41:04

    分析网页目前用PyQuery应该比较好。 PyQuery非常厉害,编程的难度和工作量降低一个数量级。 安装有一点难度,最好是下载编译好的模块。

  • zyl

    zyl 2013-01-21 17:06:25

    Mark

  • Jace

    Jace (青衫薄,肚腩现,伤悲几何……) 2013-01-21 17:23:19

    mark

  • Bury Nietzsche

    Bury Nietzsche 2013-01-21 19:31:50

    m

  • 旺仔的车车

    旺仔的车车 2013-01-21 19:35:42

    urllib urllib2 beautifulsoup再会点儿正则表达式就行啦

  • 罹年

    罹年 (做喜欢的工作和享受游戏。) 2013-01-21 21:38:12

    mark

  • restart

    restart (叛逆的技术人) 2013-01-21 22:52:05

    beautifulsoup 好像臭了 beautifulsoup 好像臭了 肘花开了

    主要是其开销太大了。。。

  • insun

    insun (能传递热能量的小螃蟹一只) 2013-03-08 10:24:31

    beautifulsoup太臭了 调用的解析器对某些网站还不好使 直接re正则表达式啊 多简单

  • vimkert

    vimkert 2013-03-08 10:58:45

    其实有很多 开源的爬虫。。,有的还支持js

  • lotuslwt

    lotuslwt 2013-03-10 15:59:57

    mark

  • 麦田里的守望者

    麦田里的守望者 (尘世间一个小书童) 2013-03-10 23:50:58

    mark

  • 溪流

    溪流 2013-03-13 17:53:25

    mark

  • sitin

    sitin 2013-04-15 16:49:43

    收藏

  • 司马昭

    司马昭 (司马昭之心) 2013-04-15 17:01:47

  • issac

    issac 2013-04-15 20:50:53

    先去搞懂网站抓取相关的逻辑: 【整理】关于抓取网页,分析网页内容,模拟登陆网站的逻辑/流程 先去搞懂网站抓取相关的逻辑: 【整理】关于抓取网页,分析网页内容,模拟登陆网站的逻辑/流程和注意事项 http://www.crifan.com/summary_about_flow_process_of_fetch_webpage_simulate_login_website_and_some_notice/ 然后再用工具分析具体流程: 【教程】手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程 http://www.crifan.com/use_ie9_f12_to_analysis_the_internal_logical_process_of_login_baidu_main_page_website/ 最后才是用Python去实现对应的逻辑,抓取所需的数据: 【教程】抓取网并提取网页中所需要的信息 之 Python版 http://www.crifan.com/crawl_website_html_and_extract_info_using_python/ 【教程】模拟登陆网站 之 Python版(内含两种版本的完整的可运行的代码) http://www.crifan.com/emulate_login_website_using_python/ ... crifan

    收藏了,稍后看,谢谢

<前页 1 2 后页>

你的回应

回应请先 , 或 注册

114256 人聚集在这个小组
↑回顶部