mechanize と lxml を介して複数の Web ページのテーブルから情報をスクレイピングするスクレーパーを構築しようとしています。以下のコードは要素のリストを返しています。これらの要素からテキストを取得する方法を見つけようとしています (.text の追加はリスト オブジェクトでは機能しません)。
コードは次のとおりです。
import mechanize
import lxml.html as lh
import csv
br = mechanize.Browser()
response = br.open("http://localhost/allproducts")
output = csv.writer(file(r'output.csv','wb'), dialect='excel')
for link in br.links(url_regex="product"):
follow = br.follow_link(link)
url = br.response().read()
find = lh.document_fromstring(url)
find = find.findall('.//td')
print find
output.writerows([find])
tds からのテキストが csv ファイルに表示されるが、各 td からのテキストが別の行に表示される上記のコードの末尾に次を追加する場合、形式を上記のコードと同じにしたいと思います。要素のリストではなくテキストを使用 (各ページのすべての情報が 1 行に表示されます)
for find in find:
print find.text
output.writerows([find.text])
他の多くの例からコードを取得したので、一般的な推奨事項も大歓迎です