目标:抓取博客园第一页的博客信息,标题链接和内容
创建scrapy项目
cmd进入自定义目录
我这里直接
1.先输入:F:进入F盘
2.cd F:\pycharm文件\学习 进入自定义文件夹
这时就可以在命令框里创建scrapy项目了。
scrapy startproject blog_Scrapy
这时就会在该目录下创建以下文件:
使用pycharm打开文件目录
打开items.py
会看到
修改代码为:
import scrapy
class BlogScrapyItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
title=scrapy.Field()#获取标题
link=scrapy.Field()#获取链接
content=scrapy.Field()#获取内容
获取博客园网页
在之前命令窗口下,进入blog_Scrapy
输入:scrapy genspider blog https://www.cnblogs.com/
https://www.cnblogs.com/为博客园网址
blog为创建的代码文件
该目录下会出现一个blog.py文件。
使用pycharm打开blog.py会看到以下代码:
这里修改parse()获取网页并保存在本地
import scrapy
class BlogSpider(scrapy.Spider):
name = 'blog'
allowed_domains = ['https://www.cnblogs.com/']
start_urls = ['http://https://www.cnblogs.com//']
def parse(self, response):
print(response.text)
filename="index.html"
with open(filename,'w',encoding='utf-8') as f:
f.write(response.text)
在之前命令窗口下执行:
F:\pycharm文件\学习\blog_Scrapy>blog_Scrapy>scrapy crawl blog
得到了以下东西:
F:\pycharm文件\学习\blog_Scrapy>scrapy crawl blog
2020-05-23 12:01:47 [scrapy.utils.log] INFO: Scrapy 2.1.0 started (bot: blog_Scrapy)
2020-05-23 12:01:47 [scrapy.utils.log] INFO: Versions: lxml 4.4.1.0, libxml2 2.9.9, cssselect 1.1.0, parsel 1.5.2, w3lib 1.21.0, Twisted 20.3.0, Python 3.7.4 (default, Aug 9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)], pyOpenSSL 19.0.0 (OpenSSL 1.1.1d 10 Sep 2019), cryptography 2.7, Platform Windows-10-10.0.18362-SP0
2020-05-23 12:01:47 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.selectreactor.SelectReactor
2020-05-23 12:01:47 [scrapy.crawler] INFO: Overridden settings:
{
'BOT_NAME': 'blog_Scrapy',
'NEWSPIDER_MODULE': 'blog_Scrapy.spiders',
'ROBOTSTXT_OBEY': True,
'SPIDER_MODULES': ['blog_Scrapy.spiders']}
2020-05-23 12:01:47 [scrapy.extensions.telnet] INFO: Telnet Password: 906a4b6f938df8c7
2020-