问大家一个python写网络爬虫程序的问题。

2013-12-09 02:35:49 +08:00
 dizzy
我最近初学python和正则表达式,想写一个简单的爬图片的网络爬虫程序。但是现在卡在怎么分析图片地址上面。具体我有以下两个问题,想请教下大家:
1、比如http://lumeizhi.com这个网站,我用chrome浏览,按f12,怎么快速准确找到图片地址?
2、怎样写相应的正则表达式呢?
我写的代码是这样的:
import urllib2
import urllib
import re

pat = re.compile('')
html = urllib2.urlopen('http://lumeizhi.com').read()
imglist = pat.findall(html)
i = 1
for x in imglist:
urllib.urlretrieve(x,'D:\pic\%s.jpg' % i)
i = i + 1

但是我现在不知道该怎么写这个正则表达式了。
6774 次点击
所在节点    Python
41 条回复
Lelouchcr
2013-12-09 09:26:35 +08:00
@dizzy 当时看了这个google的教程,然后写了个爬豆瓣相册的爬虫
https://developers.google.com/edu/python/?hl=zh-CN
alexrezit
2013-12-09 09:30:29 +08:00
正则? 解析 HTML 难道不是应该用 XPath?
dizzy
2013-12-09 09:34:33 +08:00
@hiwljun
@kevinkim
@wizardoz
@luoyou1014 谢谢推荐,我准备尽快熟悉下beautiful soup和pyquery。
dizzy
2013-12-09 09:36:28 +08:00
@Lelouchcr 谢谢,又找到个资料,这个是google的python课?英语暂时比较捉急。
dizzy
2013-12-09 09:37:03 +08:00
@alexrezit 现在大家写网络爬虫都不用正则了吗?
alexrezit
2013-12-09 09:46:14 +08:00
@dizzy
疯了?
Lelouchcr
2013-12-09 09:52:28 +08:00
@dizzy 对的,完全满足你的要求,全用python的基本库,虽然是e文,还有配套练习,还有python的话总要面对E文的,面对现实吧~~
Sylv
2013-12-09 10:06:17 +08:00
dizzy
2013-12-09 10:12:39 +08:00
@Lelouchcr 哎,我也不是说全得用基本库吧,就是先想用基本库做做,然后再用第三方。都得熟悉熟悉嘛。
dizzy
2013-12-09 10:13:04 +08:00
@alexrezit 额。。。只是试试。
dizzy
2013-12-09 10:13:35 +08:00
@Sylv 请问下这个是怎么做出来的?
Sylv
2013-12-09 10:35:26 +08:00
@dizzy 你写的代码只能抓取首页的几张图片,对“加载更多”就没辙了,对吧?
我看了下这个网站的js代码,发现它是用/image.json来载入图片的
这样就不用去分析网页代码了,甚至还能知道图片得了多少个赞哦
然后用json.loads(),很容易就可以得到地址进行整站下载了
yueye
2013-12-09 10:39:08 +08:00
@Sylv 解决的方法好优雅
dizzy
2013-12-09 11:22:16 +08:00
@Sylv 刚刚去看了下python json模块的解释,虽然还是不懂你是怎么做到的,但是感觉这个办法挺简单的(我之前确实不能处理加载更多的情况)。可能是我对javascript不了解的原因吧。
fengliu222
2013-12-09 11:45:45 +08:00
node.js+cheerio比较简单~
detailyang
2013-12-09 11:50:12 +08:00
js代码吊炸天 return console.log('找工作?山东济南找蓝翔!');
Sylv
2013-12-09 12:51:12 +08:00
@dizzy 不是我做到的。是这个网站本来就提供了json数据来载入图片 我只是把它找了出来 然后可以通过json模块来处理json数据以获取图片地址

@detailyang 我当时也笑了
0bit
2013-12-10 17:45:16 +08:00
@wizardoz 我在找Python上好用的SOAP Client的时候竟然搜到了这里。是"Beautiful Soup",不是"Beautiful Soap"
qu2ena
2013-12-15 03:19:06 +08:00
哇哇哇,我也是爬虫新手,我超级爱爱爱dizzy那首歌。
qu2ena
2013-12-15 03:24:57 +08:00
@Sylv 你这个方法好有意思哇。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/92333

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX