优草派  >   Python

Python如何利用Scrapy抓取网页?Python怎么用Scrapy框架爬取网页数据

罗西汉            来源:优草派

Scrapy是目前python爬虫领域中功能最为完善的一个框架,而很多比较复杂的python爬虫程序都会使用这个框架来进行构建和开发。下面这一篇文章所要来介绍的内容就是,python利用Scrapy抓取网页数据的方法,感兴趣的小伙伴就一起往下看看吧。

Python如何利用Scrapy抓取网页?Python怎么用Scrapy框架爬取网页数据

1.这个框架使用起来不像其他爬虫一样只需要导入即可,它需要使用scrapy框架构建出项目才可以。而且本身这个框架就已经提供了项目创建功能,使用win+r打开命令行窗口,然后再调用cd命令切换到保存爬虫项目的文件目录,再执行如下命令即可:

scrapy startproject 项目名

这个命令执行完成之后就会在当前工作目录下创建出scrapy框架项目,在这个项目内有些结构是需要去了解的。

2.在scrapy框架项目之中,需要在spiders文件夹下新建py文件作为爬虫脚本,而文件名只需要没有中文和特殊符号即可。然后再将settings这个文件打开,并且需要修改其中两行代码示例如下:

ROBOTSTXT_OBEY = False
# 取消下面代码注释
ITEM_PIPELINES = {’wl.pipelines.WlPipline’: 300,}

image.png

3.最后就是要在新建的python爬虫脚本内来编写代码了,而代码之中需要导入scrapy库,然后定义类并且这个类继承的父类是Spider。在类中需要变量来保存抓取数据的网页链接,然后使用定义函数并且参数需要有response,该参数就是网页抓取后返回对象。再通过xpath方法定位到网页指定元素,循环迭代后获取元素文本值即可,详细代码示例如下所示:

import scrapy
from ..items import HptyItem
class SwwSpider(scrapy.Spider):
    start_urls = ['https://nba.hupu.com/stats/players']
    def parse(self, response):
        whh = response.xpath('//tbody/tr[not(@class)]')
        for i in whh:
            名 = i.xpath('./td[1]/text()').extract()
            员 = i.xpath('./td[2]/a/text()').extract()

以上就是关于“Python如何利用Scrapy抓取网页?Python怎么用Scrapy框架爬取网页数据”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。