如何规范开始一个python爬虫?传送门:https://blog.csdn.net/GBA_Eagle/article/details/81611348
教学书籍:《精通Scrapy网络爬虫》
项目需求:
爬取http://books.toscrape.com网站中的书籍信息。
(1)信息包括:
书名、价格、评价等级、产品编码、库存量、评价数量。
(2)将爬取结果保存到csv文件中。
具体页面分析:
首先在命令提示符中使用scrapy shell <url> 命令进行初步测试:
C:\Users\yi>scrapy shell http://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html
2018-08-12 23:30:41 [scrapy.utils.log] INFO: Scrapy 1.5.1 started (bot: scrapybot)
... ...
[s] view(response) View response in a browser
>>>
运行这条命令后,scrapy shell会使用url参数构造一个Request对象,并提交给Scrapy引擎,页面下载完成后,程序进入一个python shell(在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器))中,在此环境中已经创建好了一些变量(对象和函数)。
接下来,在scrapy shell中调用view函数,在浏览器中显示response所包含的页面:
>>> view(response)
可能很多时候view出的页面和浏览器打开的是一样的,但是前者是Scrapy爬虫下载的页面,后者是由浏览器下载的页面,有时它们是不同的。在进行页面分析时,使用view函数更加可靠。
如图所示,我们成功打开了Scrapy下载的页面
接下来我们可以使用谷歌浏览器插件SelectorGadget以及Xpath Helper来帮助我们快捷得到所需内容的Xpath或CSS路径(这只是一种方法,经测试只能在浏览器下载显示的页面使用。若追求可靠性,也可在view中使用传统的“检查”定位元素,总结规律,再在命令提示符中检验;使用插件更方便~)
(谷歌浏览器插件的安装方法:进入Chrome网上应用店https://chrome.google.com/webstore/category/extensions,搜索添加至Chrome即可)
打开谷歌浏览器,输入地址http://books.toscrape.com/cat