Scrapy框架学习

来源:互联网 发布:java的calendar输出 编辑:程序博客网 时间:2024/05/15 00:58

安装

sudo pip3 install scrapy

测试是否安装成功



创建一个项目



创建一个爬虫

items.py
# -*- coding: utf-8 -*-# Define here the models for your scraped items## See documentation in:# http://doc.scrapy.org/en/latest/topics/items.htmlimport scrapy# class MyscrapyItem(scrapy.Item):    # define the fields for your item here like:    # name = scrapy.Field()    # passclass MyItem(scrapy.Item):    # h1标题    h1=scrapy.Field()    # h2标题    h2=scrapy.Field()

spiders/myspider.py
# !/usr/bin/env python# -*- coding:utf-8 -*-import scrapyfrom myscrapy.items import MyItemclass MySpider(scrapy.Spider):    name = 'myspider'    allowed_domains=['https://docs.scrapy.org/en/latest',]    start_urls=['https://docs.scrapy.org/en/latest/intro/tutorial.html',]    def parse(self, response):        print('----------\n'+response.body+'----------\n')        items=[]        # h1,只有一个        h1=response.xpath('//h1/text()').extract()[0]        h1item=MyItem()        h1item['h1']=h1        items.append(h1item)        # h2,有多个        h2_list=response.xpath('//div[@class="section"]/h2/text()').extract()        for h2 in h2_list:            h2item=MyItem()            h2item['h2']=h2            items.append(h2item)        return items

运行爬虫并将数据保存为json格式的文件

scrapy crawl myspider -o scrapy.json

运行完毕,如果 scrapy.json 文件为空,查找日志,发现报错:连接被拒绝
Connection was refused by other side: 111: Connection refused.
解决这个问题的思路:
1.在settings.py文件中设置User-Agent
2.在settings.py文件中设置DOWNLOAD_DELAY
3.如果经过以上2步骤还不行,就使用sudo命令运行爬虫
sudo scrapy crawl myspider -o scrapy.json

爬取成功!!!!


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 充气打火机 哪里可以买到烟丝 引领互联网时代 一缕烟丝 烟农 烟农1212 烟农1212小麦品种简介 烟农999 烟农19 烟农999小麦品种简介 烟厂正式工工资表2018 烟厂招聘 什邡烟厂招聘 昆明烟厂招聘 涪陵烟厂招聘 郑州烟厂招聘 烟台 烟台大学 烟台莱阳 烟台莱州 烟台蓬莱 烟台旅游 山东烟台 烟台景点 烟台山 烟台论坛 烟台马家沟 烟台房价 烟台高铁 烟台邮编 烟台山景区 烟台机场 烟台长岛 青岛烟台 烟台青岛 烟台莱山区 烟台百姓 烟台特产 烟台市 济南烟台 烟台站 烟台房产