scrapy爬虫

零基础

用python( scrapy库)编写爬虫程序,抓取新浪天气(http://weather.sina.com.cn)中,您所在的城市的未来10天的天气预报,包括温度,风向等

1.使用 scrapy:安装scrapy,cmd中输入:pip install scrapy

2. 创建工程:首先,在D盘下,新建一个spider1文件夹,存放我们的爬虫程序。

在spider1文件夹下,新建一个day1文件夹(用代码新建,存放爬虫程序),通过

①.在cmd中,进入spider1文件夹;②.cmd中输入:scrapy startproject day1  


结果如下图:




3.正式编写爬虫程序

①在day1文件夹下,找到items.py(D:\spider1\zuoye1\zuoye1\items.py),打开编写item.py,

功能:# 明确目标(Items):明确你想要抓取的目标

代码如下:

import scrapy


class Day1Item(scrapy.Item):
    # 温度
    temperature = scrapy.Field()
    # 风向
    wind = scrapy.Field()
    #城市
    city = scrapy.Field()
    pass

②在D:\spider1\day1\day1\spiders下面新建sina weather.py,如下图


打开sina weather.py编写代码

# -*- coding: utf-8 -*-

importscrapy

from day1.items import Day1Item    # day1是文件夹的名,Day1Item是items.py中的类class名


class weatherSpider(scrapy.spiders.Spider):   #weatherSpider是自定义的名

    name = "sina"       #sina是自定义的名
   allowed_domains = ['sina.com.cn']   #sina.com.cn是限定在这个网站的范围之内爬虫
    start_urls = ['http://weather.sina.com.cn/xian']  #开始爬虫的网址

    def parse(self, response):
        item = Day1Item()  #items.py中的类名
        item['city'] = response.xpath('//*[@class="slider_ct_name"]/text()').extract()#xpath的编写,查看sina天气网页,按F12查看HTML源代码


        return item
③D:\spider1\day1\day1下面,编写settings.py
BOT_NAME = 'day1'  

SPIDER_MODULES = ['day1.spiders']
NEWSPIDER_MODULE = 'day1.spiders'
FEED_URI=u'file///D:/spider1/zuoye1/DATA1.txt'   #爬到的东西放在DATA1.txt中,路径自己定义
FEED_EXPORT_ENCODING = 'utf-8'     #解决scrapy 抓取的中文结果乱码

4.代码编写完毕,开始爬虫。在cmd中,进入项目根目录D:\spider1\day1,(必须进入根目录)输入:scrapy crawl 文件名    #文件是sina weather.py里的存储name ="sina"

本例为:scrapy crawl sina


tips:采用pycharm编写程序,但调试程序链接到的是anaconda的Python.exe,因为anaconda自带好多库

1.安装Anaconda

2.安装Pycharm

3.在Pycharm的Files>>settings>>Project Interpreter>>Add local  里面添加Anaconda python.exe. 应用之后就可以调用各种Anaconda的库啦


猜你喜欢

转载自blog.csdn.net/jingtingxu369/article/details/79138803