一、梳理scrapy项目目录创建:
1、命令行终端定位到pycharm主目录:cd PycharmProjects
2、建立项目名称:scrapy startproject searchArticle
3、定位到项目目录下:cd searchArticle
4、设置爬虫名称与欲爬取的域名地址:scrapy genspider blogs news.cnblogs.com
5、打开pycharm,点击文件—>打开,选取该项目的地址,项目目录结构即打开。
6、在项目目录中创建一个源文件main.py,用于启动爬虫。
二、示例代码:
1、爬取博客园新闻首页标题的代码(blogs.py)
import scrapy
class BlogsSpider(scrapy.Spider):
name = "blogs"
allowed_domains = ["news.cnblogs.com"]
start_urls = ["http://news.cnblogs.com/"]
def parse(self, response):
urls = response.xpath('//*[@id="news_list"]//h2[@class="news_entry"]/a/text()').extract()
for url in urls:
print(url)
2、启动爬虫的代码(main.py)
from scrapy.cmdline import execute
execute(['scrapy', 'crawl', 'blogs'])
3、运行main.py
三、运行结果:
四、要点注释与总结:
依照以上步骤用命令行创建项目,模板代码自动生成。关键代码文件blogs.py中,只需要为BlogsSpider类的parse方法中添加提取数据的xpath表达式,然后遍历出来每个新闻标题即可。
所以学爬虫框架scrapy,熟练Python基础中的面向对象的编程方法与提取数据的xpath表达式是关键要点。