小白也能学会的爬虫教学(超详细,每一步都配图,不怕你学不会,图文并茂,看完直呼‘爽’)

安装pycharm

本文着重介绍如何实现爬虫,pycharm的安装各位可以自行找相关资料下载安装,本文不再提供

一:新建一个工程

打开pycharm,按照如图所示新建一个工程
在这里插入图片描述

按照自己的习惯自行设置文件工程所在的目录以及名字,本例中将该工程放在pycharm的安装目录下,工程名为spider_test在这里插入图片描述
点击右下角Create按钮即创建成功,如图所示,红框中是该工程下主要的子目录和文件,是成功创建工程后自动生成的
在这里插入图片描述

二:安装scrapy

这里简单介绍一下Scrapy,因为是面向小白,此处不过多介绍,感兴趣的小可爱们可以自行搜索了解哦

• scrapy 是一个功能非常强大的爬虫框架,它不仅能便捷地构建request请求,还有强大的 selector 能够方便地解析 response响应。
• 可以使用这个工具将爬虫程序工程化、模块化。
• scrapy是一个基于Twisted的异步处理框架,是纯python实现的爬虫框架,其架构清晰,模块之间的耦合程度低,可扩展性也很强。

那么如何安装并且使用scrapy呢,稍安勿躁,请各位接着往下面看
首先我们需要在该工程下安装Scrapy
点击File->Setting,如图
在这里插入图片描述
找到Project: spider_test>Project Interpreter,点击Python Interpreter,在此处查看、下载、删除python库和包在这里插入图片描述
来到如图所示画面,点击左上角的加号+
在这里插入图片描述
出现如图所示窗口,在如图所示的搜索框中输入Scrapy,找到Scrapy库,点击左下角install安装按钮,进行安装,安装过程需要几分钟,请耐心等待提示安装成功。
在这里插入图片描述
安装其他需要的库:
按照上述安装Scrapy的方法,继续安装wheel、pywin32两个库,安装好后已安装库栏中显示如图:(查看已安装库中是否已经有如下几个库),都有了表示安装成功,可以进行下一步啦
在这里插入图片描述
在这里插入图片描述

三:创建Scrapy工程

在文件管理器中,找到Scrapy的安装目录,如图所示,一般就在之前创建的工程下(spider_test->venv->Scripts)
在这里插入图片描述
在该目录下进入cmd命令行窗口(直接在目录窗口键盘输入cmd加回车即可进入)
在这里插入图片描述

在命令行中输入如下指令加回车创建一个Scrapy工程,工程名为test1
在这里插入图片描述
出现如图所以回应表示创建成功在这里插入图片描述
回到pycharm,在如下目录中有如下几个文件表示成功。可以进行下一步
在这里插入图片描述

四:如何使用scrapy

1、新建一个begin.py文件

在test1工程之下,新建一个名为begin.py文件,和scrapy.cfg在同一级目录下,操作如图所示
在这里插入图片描述
创建好后的情况如图所示
在这里插入图片描述

2、编辑begin.py中的内容

在刚刚创建好的begin.py文件中输入如下内容(可直接复制下面代码粘贴)

from scrapy import cmdline
cmdline.execute("scrapy crawl bupt".split()) 
#bupt为爬虫的名字,在spider.py中定义

如图所示
在这里插入图片描述

3、修改items.py中的内容

复制下面的代码将原内容全部覆盖

import scrapy
class MyItem(scrapy.Item):
# define the fields for your item here like:
	school = scrapy.Field()
	link = scrapy.Field()

粘贴时出现如图所示提示,直接点击OK就行
在这里插入图片描述

4、新建一个spider.py文件

在spiders目录下新建一个spider.py文件
在这里插入图片描述
在该文件中粘贴以下内容:(此处代码为核心部分,尽量读懂)
本爬虫爬取的是北京邮电大学官网中的一处,如图所示:
在这里插入图片描述

import scrapy
from test1.items import MyItem #从items.py中引入MyItem对象
class mySpider(scrapy.spiders.Spider):
    name = "bupt" #爬虫的名字是bupt
    allowed_domains =["bupt.edu.cn/"] #允许爬取的网站域名
    start_urls = ["https://www.bupt.edu.cn/yxjg1.htm"]
    #初始网站地址,即爬虫爬取的第一个网站

    def parse(self, response):  # 解析爬取的内容
        item = MyItem()  # 生成一个在items.py中定义好的Myitem对象,用于接收爬取的数据

        for each in response.xpath("/html/body/div/div[2]/div[2]/div/ul/li[4]/div/ul/*"):#用xpath来解析html,div标签中的数据,就是我们需要的数据。
            item['school'] = each.xpath("a/text()").extract() #学院名称在text中
            item['link']= each.xpath("a/@href").extract() #学院链接在href中
            if (item['school'] and item['link']):  # 去掉值为空的数据
                yield(item)  # 返回item数据给到pipelines模块

修改好的如图所示:
在这里插入图片描述

5、修改pipelines.py

打开如下图所示的pipelines.py文件
在这里插入图片描述
将下面的代码复制粘贴进去覆盖原内容:

import json

class MyPipeline(object):
    def open_spider(self,spider):
        try:
            self.file = open('MyData.json',"w",encoding="utf-8")
        except Exception as err:
            print(err)
    def process_item(self,item,spider):
        dict_item = dict(item) #生成字典对象
        json_str = json.dumps(dict_item,ensure_ascii=False) + "\n"#生成json串
        self.file.write(json_str)
        return item
    def close_spider(self,spider):
        self.file.close() #关闭文件

继续点击ok
在这里插入图片描述

6、修改setting.py文件

再文件代码中找到如图所示代码(大概再65行~67行),将其取消注释,并将test1Pipeline改成MyPipeline
在这里插入图片描述

点击ok
在这里插入图片描述
修改后如图所示:
在这里插入图片描述

五、运行spider.py

前面所有准备工作都已经准备好了,万事俱备只欠运行,此时是不是迫不及待地想运行,看效果了呢
但是还差一步哦,心急出不了热豆腐,为什么这么说呢,别着急,接着往下操作
在这里插入图片描述
运行之后,此时文件出现报错
在这里插入图片描述
解决办法:接着按照图操作:
在这里插入图片描述
将如下框中内容修改成
D:\Pycharm\PyCharm 2020.3.4\spider_test\venv\Scripts\test1\begin.py
其实就是将其中的\test1\spiders删除,再将spider.py改成begin.py
在这里插入图片描述
在这里插入图片描述
点击ok,修改成功,成功后右上角变成这样,然后点击运行标志运行
在这里插入图片描述
出现下图所示红色字体表示运行成功
在这里插入图片描述

成功啦!!!

然后可以看到此处已经生成了一个MyData.json文件,使用pycharm或者记事本打开此文件,即可看到你的成果啦
在这里插入图片描述
效果如下:
在这里插入图片描述

感谢!!

恭喜你,到此,一个初学者爬虫你已经运行成功啦,本文面向纯爬虫小白,因此只介绍了操作过程,所有代码都是现成的,想进一步学习爬虫的相关知识,只会这一些肯定是远远不够的,希望大家可以根据上面的操作,把自己不懂的地方逐一去了解,相信你能进步的更多。喜欢我的文章话可以点赞加关注支持一下博主哇,博主一定感谢万分,对于上述有什么不懂的地方,也欢迎评论区留言,我一定积极尽自己所能热心回答

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kivi闭关编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值