设为首页 加入收藏

TOP

爬虫学习之基于Scrapy的网络爬虫(二)
2017-09-30 16:53:34 】 浏览:2339
Tags:爬虫 习之 基于 Scrapy 网络
@href').extract() for article_url in article_urls: yield Request(base_url + article_url, callback=self.parse_article) def parse_article(self, response): """解析文章内容""" title = response.selector.xpath('//div[@class="title"]/h1/text()').extract()[0] content = response.selector.xpath('//div[@id="content"]').extract()[0] tags = ','.join(response.selector.xpath('//div[@class="tags mt10"]/a/text()').extract()) results = db.query('select count(0) as total from articles where origin=$origin', vars = { 'origin': response.url }) if results[0].total <= 0: db.insert('articles', title=title, origin=response.url, content=content, add_date=int(time.time()), hits=0, tags=tags )

安装Scrapy后以上代码通过以下命令执行:

scrapy runspider jb51_spider.py

本次运行后的效果在数据库中可以见如下图所示:

Github地址

###总结

本篇文章我们主要了解了基本的Scrapy Spider部分,而且通过对目标网站的结构分析使用xpath进行内容的提取,以及分页的处理。这里我们的目的是建立一种写爬虫的思路,而不在于怎么使用工具来爬数据。首先确定目标,然后分析目标,再借助现有工具进行内容提取,提取内容的过程中会遇到各种问题,这个时候我们再来逐个解决这些问题,直到我们的爬虫能够无障碍的运行。接下来我会使用Scrapy更多的功能将继续探索Item的定义,Pipeline的实现以及如何使用代理。

特别申明:本文所提到的脚本之家网站只是拿来进行爬虫的技术交流学习,读者涉及到的所有侵权问题都与本人无关,也希望大家在学习实战的过程中不要大量的爬取内容对服务器造成负担

本文首发在sudo rm -rf 转载请注明原作者

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇python 作用域 下一篇Windows下Python工具pip的安装

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目