爬虫之Scrapy基本应用

1.首先安装以下package,

pip3 install wheel
pip3 install lxml
pip3 install pyopenssl
pip3 install Twisted
pip3 install pywin32
pip3 install scrapy

2.创建scrapy项目:以mySpider项目为例:

scrapy startproject mySpider

会生成以下文件:

scrapy.cfg :项目的配置文件

mySpider/ :项目的Python模块,将会从这里引用代码

mySpider/items.py :项目的目标文件

mySpider/pipelines.py :项目的管道文件

mySpider/settings.py :项目的设置文件

mySpider/spiders/ :存储爬虫代码目录

3.在items文件中定义数据字段:

class MytianyaItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    #定义字段名为email
    email=scrapy.Field()
    pass

4.使用scrapy genspider mytianya "bbs.tianya.cn"创建一个爬虫文件()
mytianya:为爬虫名
"bbs.tianya.cn":为域名
5.mytianya .py文件名:

class GettianyaEmailSpider(scrapy.Spider):
    #爬虫名
    name = 'getTianYa_email'
    #要爬的网址域名
    allowed_domains = ['bbs.tianya.cn']
    #要爬的网址
    start_urls = ['http://bbs.tianya.cn/post-140-393968-1.shtml']

    def parse(self, response):
        # email正则表达式
        emailre='[0-9a-z_]+@[0-9a-z]+\.[a-z]{2,4}'
        emailList=re.findall(emailre,response.body.decode('utf-8'),re.I)
        #items中的生成字段名的类,实例化
        item=MytianyaItem()
        for email in emailList:
            item['email']=email
            # print(email)
            yield item
            # print(email)

6.保存数据:

#保存为json数据
scrapy crawl mytianya -o mytianya.json
#保存为csv数据
scrapy crawl mytianya -o mytianya.csv
#保存为想xml数据
scrapy crawl mytianya -o mytianya.xml

猜你喜欢

转载自blog.csdn.net/qq_42055440/article/details/80991187