質問

私はこのクモを何週間も書こうとしましたが、成功しませんでした。これをPythonでコーディングする最良の方法は何ですか:

1)初期URL: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)これらの各URLに移動し、この正規表現を使用して学校情報をスクレイプします

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クックブック、より良いコードですが、説明は少なくなります

他のヒント

また、読むことをお勧めします:

RegExはXHTML self以外のオープンタグに一致します-含まれるタグ

正規表現を使用してHTMLを解析する前に。次に、誰かの名前が強制的にページをlatin-1ではなくunicodeにしたときに初めて起こることを考えます。

編集:Pythonで使用するライブラリに関する質問に答えるには、 Beautiful Soupをお勧めします。 これは優れたHTMLパーサーであり、Unicode全体をサポートします(また、不正なHTMLについては非常に良い仕事をします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top