相关指令:
创建
scrapy startproject xxxxxx
然后创建一个spider:
scrapy genspider 文件名 要爬取的网址
运行爬虫:
scrapy crawl 爬虫名
通过PyCharm打开Project,scrapy自动为我们创建出需要的框架:
其中,目录spiders下可以创建多个爬虫程序。
items.py中用来定义爬取数据的结构item(同样可以有多个);
middlewares.py中存放中间件,一般不需要我们考虑;
pipelines.py负责对数据的处理输出,将爬取到item中的数据提取出来,按照自定义规则进行处理;
settings.py中写各种设定,在刚创建时,文件中预设了许多设定项(全被注释掉了,需要使用时去掉注释即可)。其中值得注意的一项是管道数量的设定:
ITEM_PIPELINES = {
'FreeBasic.pipelines.FreebasicPipeline': 300,
}
(上图中Myencoder.py是我自己编写的模块,用于对数据进行筛选处理,解决一些编码问题,一般大家用默认的encoder就好。)
贴一段我自己的一个spider.py
# -*- coding: utf-8 -*-
import scrapy
from FreeBasic.items import FreebasicItem
class FbspiderSpider(scrapy.Spider):
name = 'FBspider'
def start_requests(self):
url = 'https://www.freebasic.net/forum/viewforum.php?f=17&start='
# url = 'https://www.freebasic.net/forum/viewforum.php?f=' # 1&start='
# for f in range(0,20):
for start in range(0, 10):
start = start * 30 + 1