Scrapy的简单使用教程

 更新时间:2017年10月24日 08:47:14   作者:贝克田庄  
Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。

在这篇入门教程中,我们假定你已经安装了python。如果你还没有安装,那么请参考安装指南

首先第一步:进入开发环境,workon article_spider

进入这个环境:

安装Scrapy,在安装的过程中出现了一些错误:通常这些错误都是部分文件没有安装导致的,因为大学时经常出现,所以对解决这种问题,很实在,直接到http://www.lfd.uci.edu/~gohlke/pythonlibs/这个网站下载对应的文件,下载后用pip安装,具体过程不在赘述。

然后进入工程目录,并打开我们的新创建的虚拟环境:

新建scrapy工程:ArticleSpider

创建好工程框架:在pycharm中导入

 

scrapy.cfg: 项目的配置文件。
ArticleSpeder/: 该项目的python模块。之后您将在此加入代码。
ArticleSpeder/items.py: 项目中的item文件。
ArticleSpeder/pipelines.py: 项目中的pipelines文件。
ArticleSpeder/settings.py: 项目的设置文件。
ArticleSpeder/spiders/: 放置spider代码的目录。

回到dos窗口用basic创建模板

上面pycharm的截图中已经创建好了:

为了今后更好的开发,创建一个用于debug的类main.py

from scrapy.cmdline import execute
import sys
import os
print(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
execute(["scrapy","crawl","jobbole"])

 这是代码内容

import sys 为了设置工程目录,调用命令才会生效

里面的路径最好不要写死:可以通过os获取路径,更加灵活

execute用来执行目标程序的

jobbole.py的内容

class JobboleSpider(scrapy.Spider):
name = 'jobbole'
allowed_domains = ['blog.jobbole.com']
start_urls = ['http://blog.jobbole.com/110287']

def parse(self, response):
re_selector = response.xpath("/html/body/div[1]/div[3]/div[1]/div[1]/h1")
re2_selector = response.xpath('//*[@id="post-110287"]/div[1]/h1')
title = response.xpath('//div[@class="entry-header"]/h1/text()')
create_date = response.xpath("")
#//*[@id="112706votetotal"]
dian_zan = int(response.xpath("//span[contains(@class,'vote-post-up ')]/h10/text()").extract()[0])
pass

 通过xpath技术获取对应文章的一些字段信息,包括标题,时间,评论数,点赞数等,因为比较简单所以不在赘述

写到这儿,大家也知道每次在pycharm里面debug和麻烦,因为scrapy比较大,所以这时候我们可以使用Scrapy shell来调试

标记部分是目标网站的地址:现在我们可以更加愉悦的进行调试了。

今天scrapy的初体验就到这里了

相关文章

  • 使用Python和XPath解析动态JSON数据的操作指南

    使用Python和XPath解析动态JSON数据的操作指南

    JSON动态数据在Python中扮演着重要的角色,为开发者提供了处理实时和灵活数据的能力,动态JSON数据的获取可能涉及到网络请求和API调用,可以使用Python和XPath来解析动态JSON数据,接下来小编就给大家介绍一下操作步骤
    2023-09-09
  • Python实现html转换为pdf报告(生成pdf报告)功能示例

    Python实现html转换为pdf报告(生成pdf报告)功能示例

    这篇文章主要介绍了Python实现html转换为pdf报告功能,结合实例形式分析了Python使用pdfkit实现HTML转换为PDF的相关操作技巧与注意事项,需要的朋友可以参考下
    2019-05-05
  • Python实现录屏功能的示例代码

    Python实现录屏功能的示例代码

    这篇文章主要为大家详细介绍了如何利用Python实现录屏功能,文中的示例代码讲解详细,对我们掌握Python开发有一定的帮助,需要的可以参考一下
    2023-03-03
  • python 模拟贷款卡号生成规则过程解析

    python 模拟贷款卡号生成规则过程解析

    这篇文章主要介绍了python 模拟贷款卡号生成规则过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python使用pip安装SciPy、SymPy、matplotlib教程

    python使用pip安装SciPy、SymPy、matplotlib教程

    今天小编大家分享一篇python使用pip安装SciPy、SymPy、matplotlib教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 优化Python代码使其加快作用域内的查找

    优化Python代码使其加快作用域内的查找

    这篇文章主要介绍了优化Python代码使其加快作用域内的搜索,文中介绍了CPython相关的C代码来对查找功能进行优化,加快搜索的速度,需要的朋友可以参考下
    2015-03-03
  • python多线程与多进程及其区别详解

    python多线程与多进程及其区别详解

    这篇文章主要介绍了python多线程与多进程及其区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python实现 版本号对比功能的实例代码

    Python实现 版本号对比功能的实例代码

    这篇文章主要介绍了 Python实现 版本号对比功能的实例代码,文末给大家补充介绍了python 比较两个版本号大小 ,需要的朋友可以参考下
    2019-04-04
  • python3下载抖音视频的完整代码

    python3下载抖音视频的完整代码

    本文通过实例代码给大家介绍了python3下载抖音视频的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • python写入Excel表格的方法详解

    python写入Excel表格的方法详解

    这篇文章主要为大家详细介绍了python写入Excel表格的方法,使用jupyter notebook,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02

最新评论