迷之路人 发表于 2012-11-19 12:34

怎么从网站抓取数据?

打算从豆瓣图书上建立一个小数据库,包含书的封面、书名、作者等信息,几千个条目,

有什么傻瓜软件推荐一下?

jun4rui 发表于 2012-11-19 12:47

mimighost 发表于 2012-11-19 12:48

爬虫~~?我的最爱啊。而且我正好爬过豆瓣的数据。豆瓣的对于抓取的政策很严格,封ip封的很紧。而且URL没有规律,很难拼出来,只能靠宽搜。如果要爬,建议从m.douban.com入手,ip检测比较宽松,页面也相对简单。

没啥傻瓜软件可以推荐。想要爬,还是自己学习一下python写爬虫吧~

maxsch 发表于 2012-11-19 13:21

写爬虫什么的可不是LZ期望的傻瓜软件

迷之路人 发表于 2012-11-19 13:50

主要是python这个不会,而且以前也没有网络编程的经验。所以只能找傻瓜软件了。

现在有些想法,书的网址我手动输入,比如 http://book.douban.com/subject/3057671/,
发现书封面的网址都是http://img3.douban.com/lpic/*.jpg,然后就剩下书的信息比如书名和作者。

mimighost 发表于 2012-11-19 13:58

回 4楼(迷之路人) 的帖子

lz如果不会正则表达式也不会python,那估计也不会html解析了。其实爬虫这东西技术含量不高,但是比较繁琐,尤其是html解析这部分。
而且由于需求差别很大,爬虫对于定制性的要求很高,所以基本上也没有啥现成的软件可以使用,一般都是自己按要求自己写。

凯蒂夫人 发表于 2012-11-19 14:27

唔,当年看过一个用excel的VBA抓取网站股票数据的,方法应该很多吧

halleluiah 发表于 2012-11-19 14:36

这里之前推荐过的IDM下载工具,有爬虫功能,规则不算难定测试几下应该就会。
注册也比较方便,找一下就有。

迷之路人 发表于 2012-11-19 14:46

回 5楼(mimighost) 的帖子

现在实现两个简单的功能,手动输入一个网址,比如 http://book.douban.com/subject/3057671/,
返回这个网页的title和 一个jpg文件,符合这个规则:http://img3.douban.com/lpic/*.jpg。
这个如何实现?

mimighost 发表于 2012-11-19 15:04

我好人也就做到这步了,基本的东西都在里面了,楼主自己慢慢琢磨。一共花了5分钟时间,包括查正则的用法的时间。

我这样也算是尽心尽力普及我大Python圣教了

__author__ = 'mimighost'


import urllib
import re

content = urllib.urlopen("http://book.douban.com/subject/3057671/").read()
title_pattern = re.compile(r"<title>(?P<title>.*)</title>")
image_pattern = re.compile(r"http://img3.douban.com/lpic/.*jpg")

print title_pattern.findall(content),image_pattern.findall(content)


迷之路人 发表于 2012-11-19 15:06

回 9楼(mimighost) 的帖子

谢谢了!

robbielj 发表于 2012-11-19 17:33

urllib太简陋了,改用requests吧
很多网站为了防止机器人抓封各种agent的
requests这种能欺骗
另外cookie什么的。。。

sabermio 发表于 2012-11-19 17:55

说不定以后有用
页: [1]
查看完整版本: 怎么从网站抓取数据?