すでに修正されているクロムのバグのリストをかき集めようとしています。1ページ目と2ページ目は動くのですが、なぜか3ページ目で止まってしまいます。setting.py で DEPTH_LIMIT = 1 を設定しました。これは、おそらくスクレイピングできるデータの量を制限する chrome ポリシーに関連していますか? 前もって感謝します!
class MySpider(CrawlSpider):
name = "craig"
start_urls = ["http://code.google.com/p/chromium/issues/list?can=1&q=status%3Afixed&sort=&groupby=&colspec=ID+Pri+M+Iteration+ReleaseBlock+Cr+Status+Owner+Summary+OS+Modified+Type+Priority+Milestone+Attachments+Stars+Opened+Closed+BlockedOn+Blocking+Blocked+MergedInto+Reporter+Cc+Project+Os+Mstone+Releaseblock+Build+Size+Restrict+Security_severity+Security_impact+Area+Stability+Not+Crash+Internals+Movedfrom+Okr+Review+Taskforce+Valgrind+Channel+3rd"]
rules = (
Rule(SgmlLinkExtractor(restrict_xpaths=('//a[starts-with(., "Next")]/@href'))),
Rule(SgmlLinkExtractor(allow=("status%3Afixed",), deny=("detail?",)), callback="parse_items", follow=True)
)
def parse_items(self, response):
hxs = HtmlXPathSelector(response)
table = hxs.select("//table[@id='resultstable']")
items = []
count = 1
for count in range(1,100):
row = table.select("tr[" + str(count) + "][@class='ifOpened cursor_off']")
item = CraiglistSampleItem()
item["summary"] = row.select("td[@class='vt col_8'][2]/a/text()").extract()
item["summary"] = str(item["summary"][0].encode("ascii","ignore")).strip()
item["id"] = row.select("td[@class='vt id col_0']/a/text()").extract()
item["id"] = str(item["id"][0].encode("ascii","ignore")).strip()
print item["summary"]
count = count + 1
items.append(item)
return(items)