1

我已经尝试写这个蜘蛛好几个星期了,但没有成功。我用 Python 编写代码的最佳方法是什么:

1)初始网址:http://www.whitecase.com/Attorneys/List.aspx?LastName=A

2) 从初始 url 中使用这个正则表达式获取这些 url:

hxs.select('//td[@class="altRow"][1]/a/@href').re('/.a\w+')

[u'/cabel', u'/jacevedo', u'/jacuna', u'/aadler', u'/zahmedani', u'/tairisto', u
/zalbert', u'/salberts', u'/aaleksandrova', u'/malhadeff', u'/nalivojvodic', u'
....

3) 转到这些网址中的每一个并使用此正则表达式刮取学校信息

hxs.select('//td[@class="mainColumnTDa"]').re('(?<=(JD,\s))(.*?)(\d+)'

[u'JD, ', u'University of Florida Levin College of Law, <em>magna cum laude</em> , Order of the Coif, Symposium Editor, Florida Law Review, Awards for highest grades in Comparative Constitutional History, Legal Drafting, Real Property and Sales, ', u'2007']

4)将抓取的学校信息写入schools.csv文件

你能帮我用 Python 写这个蜘蛛吗?我一直在尝试用 Scrapy 编写它,但没有成功。请参阅我之前的问题

谢谢你。

4

2 回答 2

4

http://www.ibm.com/developerworks/linux/library/l-spider/ IBM 文章有很好的描述

或者

http://code.activestate.com/recipes/576551/ Python 食谱,更好的代码但更少的解释

于 2009-11-26T19:10:26.147 回答
0

另外,我建议您阅读:

RegEx 匹配打开的标签,XHTML 自包含标签除外

在您尝试使用正则表达式解析 HTML 之前。然后想想当某人的名字第一次强制页面使用 unicode 而不是 latin-1 时会发生什么。

编辑:要回答您关于在 Python 中使用的库的问题,我建议使用Beautiful Soup,它是一个很棒的 HTML 解析器,并且始终支持 unicode(并且在处理格式错误的 HTML 方面做得非常好,您将在各处找到它地方)。

于 2009-11-26T21:39:34.397 回答