不使用bs4,requests库,尝试下用scrapy框架爬虫。
跟着别人博客做的,刚开始一直怀疑是自己电脑没配置好,
后来发现是代码错误就学了下Xpath修改了代码,能运行了现在。
添加上修改的代码:
(注意看日期,2016年11月28日可用
万一论坛改版了什么之类的可能就需要自己重新去修改了。)
def parse(self, response): selector = Selector(response)
table = selector.xpath('//*[starts-with(@id, "pid")]') # 取出所有的楼层 print len(table)# 7层 输出为7 i=0 for each in table: # 对于每一个楼层执行下列操作
i+=1
item = HeartsongItem()
item['title'] = selector.xpath('//*[@id="thread_subject"]/text()').extract()[0] item['author'] = each.xpath('//a[contains(@class,"xw1")]/text()').extract()[i] item['post_time'] = each.xpath('//em[contains(@id,"authorposton")]/text()').extract()[i - 1] item["content"] = each.xpath('//td[contains(@class,"t_f")]/font/font/font/text()').extract()[i - 1] item['url'] = each.xpath('//a[contains(@class,"avtm")]/@href').extract()[i - 1]
yield item
参考资料:http://kongtianyi.cn/2016/09/26/python/Scrapy-Lesson-1/