scrapy爬取数据

1、安装scrapy

2、在终端命令行输入scrapy startproject +文件夹名称(不可和网址名字重复)

(base) PS D:\数据采集预处理> scrapy startproject renyou_book

3、cd命令切换到当前路径下

(base) PS D:\数据采集预处理> cd .\renyou_book\ 

4、scrapy genspider + 文件夹名称(不能和1重复) + 爬取网址

(base) PS D:\数据采集预处理> scrapy genspider renyoubook ryjiaoyu.com

5、右键文件夹切换为Sources Root

scrapy爬取数据_第1张图片

6、修改items,在class下写清楚需要爬取的内容

scrapy爬取数据_第2张图片

7、修改settings,添加请求头,修改robots权限为False,添加LOG_LEVEL = "WARNING"

scrapy爬取数据_第3张图片

8、修改renyou_book

方法一:用selector

(1)、修改url为完整的域名

start_urls = ["https://www.ryjiaoyu.com/book"]

 (2)、lis里面放li标签

                注意:使用selector后面要加 “ ::text ”  “.get()”

                背景图片如下:

(3)、item = RenyouBookItem()需要进行导包,这一步和前面第五步切换到Sources Root下有关

(4)、最后 yiedl item 结束

    def parse(self, response):
        lis = response.css('#tab-book > div.col-md-8.col-sm-8.main > div.g-main > div > ul > li')
        for li in lis:
            book_name = li.css('div.book-info > h4 > a::text').get()
            print('书名:',book_name)
            zuozhe = li.css('div.book-info > div::text').get()
            print('作者:',zuozhe)
            price = li.css('div.book-info > span > span::text').get()
            print('价格:',price)
            bg = li.css('div.book-img.book-tag-808.book-tag-1688 > a > img::attr(src)').get()
            print('背景图片:',bg)


            item = RenyouBookItem()
            item['book_name'] = book_name
            item['zuozhe'] = zuozhe
            item['price'] = price
            item['bg'] = bg

            yield item

方法二:用XPATH,仅供参考

scrapy爬取数据_第4张图片

9、在终端命令行输入

(注意:所有在终端运行的命令都必须在当前目录下)

scrapy crawl renyoubook

scrapy爬取数据_第5张图片

你可能感兴趣的:(scrapy,python,爬虫)