我一直试图写这个蜘蛛数周但没有成功。我用Python编写代码的最佳方法是什么:

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

2)从最初的网址获取这些正则表达式的网址:

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写它但没有成功。请参阅我以前的问题

谢谢。

有帮助吗?

解决方案

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

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

其他提示

另外,我建议你阅读:

RegEx匹配开放标签,XHTML self除外包含标签

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

编辑:要回答关于要在Python中使用的库的问题,我建议美丽的汤, 这是一个很棒的HTML解析器并且在整个过程中都支持unicode(并且在格式错误的HTML中做得非常好,你可以在整个地方找到它。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top