python爬虫scrapy入门教程

背景:python实现网页爬虫,可以使用scrapy,首先,需要安装python的运行环境,我们这里使用anaconda集成环境。

安装好以后,打开Anaconda Navigator,打开CMD.exe Prompt,在命令行窗口运行:pip install scrapy,运行完,没有报错,意味着scrapy就安装好了,然后,在当前文件夹下新建一个文件,名为:myspider.py,代码如下:

import scrapy

class BlogSpider(scrapy.Spider):
    name = 'blogspider'
    start_urls = ['https://www.zyte.com/blog/']

    def parse(self, response):
        for title in response.css('.oxy-post-title'):
            yield {'title': title.css('::text').get()}

        for next_page in response.css('a.next'):
            yield response.follow(next_page, self.parse)

 

在命令行窗口下,运行:scrapy runspider myspider.py

 

这个例子是scrapy官网提供的,安装好python环境,按照教程操作就可以看到抓取到的博客内容,这个例子看似简单,其实,有些细节有必要特别关注,这也是写这篇文章的主要目的。

 

scrapy官网提供的样例代码,第一个for是抓取https://www.zyte.com/blog/的当前页面上class为oxy-post-title的所有标签的内容,第二个for是用来抓取分页以后的标签内容的。

 

我们首先打开https://www.zyte.com/blog/,通过开发者工具的审查功能,找到class名为oxy-post-title的元素,可以看到这是title的容器,就是说:当我们抓取网页内容时,首先要做的是:定位到该元素最直接的容器,同样的,想要获取分页的内容,也要先定位到分页标签对应的最直接的容器

明白了这一点,使用scrapy抓取其他网页的内容时,才更顺手!

 

参考资料:

https://scrapy.org/

posted @ 2023-07-07 12:59  jamstack  阅读(56)  评论(0编辑  收藏  举报