我一直试图写这个蜘蛛数周但没有成功。我用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写它但没有成功。请参阅我之前的question。
谢谢。
答案 0 :(得分:4)
http://www.ibm.com/developerworks/linux/library/l-spider/ IBM有良好描述的文章
或
http://code.activestate.com/recipes/576551/ Python手册,更好的代码,但解释更少
答案 1 :(得分:0)
另外,我建议你阅读:
RegEx match open tags except XHTML self-contained tags
在尝试使用正则表达式解析HTML之前。然后想想第一次有人的名字强制页面为unicode而不是latin-1时会发生什么。
编辑:为了回答你关于在Python中使用的库的问题,我建议Beautiful Soup,这是一个很棒的HTML解析器,并且支持整个unicode(并且对于格式错误的HTML做得非常好,你是去寻找各处。)