一、scrapy 框架案例
以爬取 https://python123.io/ws/demo.html 为例
二、4个步骤
1.创建项目
语法:scrapy startproject + 项目名
如 scrapy startproject pythonDemo 即是创建一个项目名为pythonDemo的项目
进入命令行切换到pythonDemo这个项目所要存放的路径,之后执行语句 scrapy startproject pythonDemo
如下图所示:
进入D:\myPython路径进行查看,即可看到创建的项目目录,说明项目创建成功
2.创建爬虫
创建爬虫需要先进入上述所创建的项目目录中,如执行cd pythonDemo
之后执行scrapy genspider demo python123.io 这一步也就是生成demo.py
其中demo是爬虫名,python123.io是允许爬取的范围
故这条语句的语法就是scrapy genspider+爬虫名+爬取范围
上述结束之后展开查看pythonDemo这个项目里面有什么
打开demo.py
里面代码的解释如下
3.修改demo.py
因为上面此案例是爬取 https://python123.io/ws/demo.html
故将demo.py中的
start_urls = [‘http://python123.io/’]改为
start_urls = [‘https://python123.io/ws/demo.html’]
并在parse函数中对数据进行处理操作,如将爬取到的数据写入文件python123.html中
最后demo,py代码如下:
import scrapy
class DemoSpider(scrapy.Spider):
name = 'demo'
allowed_domains = ['python123.io']
start_urls = ['https://python123.io/ws/demo.html']
def parse(self, response):
fw = open('python123.html','w',encoding='utf-8')
fw.write(response.text)
fw.close()
4.运行爬虫
在pythonDemo的项目路径下执行:scrapy crawl demo
其中demo是爬虫名,所以语法为scrapy crawl+爬虫名
即爬取成功
打开python123.html查看结果
三、注意
有些网站会设置反爬虫机制,这时我们可以使用反爬虫技术的其中一种User-Agent进行伪装
具体操作如下;
打开settings.py文件
添加下面这一句代码即可:
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'
四、写在最后
以上是自己在学习scrapy 框架入门时的一点小总结,如有出错,欢迎评论区指正。