比如:我想采集贴吧,标题 或内容含有关键词:征婚 交友 美女 这几个关键词的全部贴子.
下面代码可以采集全部贴子:
item['title'] = response.xpath('//h1[@style="width: 470px"]/text()').extract()[0].strip() ####贴子标题 item['url'] = response.meta['text_url'] ####贴子地址 item['content'] = response.xpath('//*[starts-with(@id, "post_content_")]/text()').extract()[0].strip() ####贴子的内容 item['time'] = response.xpath('//div[@class="l_post j_l_post l_post_bright noborder "]').re("\d+-\d+-\d+ \d+:\d+") ####发贴时间 item['click'] = random.randint(0, 20) ###点击次数,给了一个随机值
用下面的两个方法.先查一下内容再决定要不要
################ 方法 二
okok = response.xpath('//[starts-with(@id, "post_content_")]/text()').extract()[0].strip() if '交友' or '征婚' or '美女' in okok: item['content'] = response.xpath('//[starts-with(@id, "post_content_")]/text()').extract()[0].strip() item['title'] = response.xpath('//h1[@style="width: 470px"]/text()').extract()[0].strip() item['url'] = response.meta['text_url'] item['time'] = response.xpath('//div[@class="l_post j_l_post l_post_bright noborder "]').re("\d+-\d+-\d+ \d+:\d+") item['click'] = random.randint(0, 20) print item yield item
这两个总是不行.也用过 contains(str1, str2) 可能是用的不行.总也不成功.
不知道有什么办法.可以通过一组关键词采集百度贴子.
谢谢.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.