成都创新互联网站制作重庆分公司

Scrapy项目实战-创新互联

抓取豆瓣电影top250数据,并将数据保存为csv,json格式存储到MongoDB数据库中,目标URL为https://movie.douban.com/top250

创新互联公司主要从事网站建设、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务华阴,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

 

一、创建项目

    进入自定义的项目目录中,运行scrapy startproject douban 

    douban为项目名称,将会创建一个douban文件夹,包含以下文件。

    分别是

  • scrapy.cfg: 项目的配置文件。

  • douban/: 项目的Python模块,将会从这里引用代码。

  • douban/items.py: 项目的目标文件。

  • douban/pipelines.py: 项目的管道文件。

  • douban/settings.py: 项目的设置文件。

  • douban/spiders/: 存储爬虫代码目录。

    打开豆瓣项目,进入到spiders文件夹下,运行scrapy genspider douban_spider movie.douban.com,就会在spiders文件夹下生成douban_spider.py

    Scrapy项目实战

二、明确目标

    Scrapy项目实战

三、spider文件的编写

    Scrapy项目实战

    运行豆瓣项目:scrapy crawl douban_spider 

    运行过程中报错 : no module named ‘_sqlite3’

    Scrapy项目实战    

    安装好sqlite3后,重新编译安装python3

    Scrapy项目实战

    make && make install 重新编译python3完成。

    进入豆瓣项目,重新运行scrapy crawl douban_spider,有如下报错:

    Scrapy项目实战

    这种报错是由于USER_AGENT不是规范的格式引起的,修改成规范的即可。

    Scrapy项目实战

    在pycharm输出所需内容,先在douban文件夹下创建一个main.py,如图:

    Scrapy项目实战

    编写解析文件,主要使用xpath。在Chrome浏览器安装并启用xpath helper,方便解析。在Chrome浏览器使用shift+Ctrl+X启用xpath插件。

    Scrapy项目实战

    Scrapy项目实战

    Scrapy项目实战

四、数据的存储

  导出数据:scrapy crawl douban_spider -o test.json 或者 scrapy crawl douban_spider -o test.csv 数据以Unicode格式保存。将它导出到Windows下:sz test.csv   打开是乱码,右键该文件,选择edit with notepad++打开,选择编码,选择“使用UTF-8-BOM编码”保存。用Excel表格打开可正常浏览。

    如何将数据保存到MongoDB中?

    在setting.py中定义对应IP地址、端口号、数据库名称、数据表名称。

    Scrapy项目实战

    Scrapy项目实战

    在编写pipspiders.py,检查有没有安装pymongo。安装pip3 install pymongo。

   Scrapy项目实战

    Scrapy项目实战

    通过数据库进行连接

    Scrapy项目实战

    Scrapy项目实战

    Scrapy项目实战

    Scrapy项目实战

    

    

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前名称:Scrapy项目实战-创新互联
URL标题:http://cxhlcq.com/article/jhiep.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部