标签:item info port star load rtsp 路径 参数 mic
使用scrapy框架编写爬虫时,开启爬虫需要在终端使用命令来执行,且无法进行断点调试debug,所以需要另外编写一个py文件,来运行调试这个scrapy爬虫项目。
一般运行scrapy的命令是:scrapy crawl 项目名
这里不再需要使用这个命令,而是另外创建一个用于运行scrapy的py文件。
from scrapy import cmdline
cmdline.execute("scrapy crawl douban".split()) #使用需要运行的爬虫项目名
此时,直接运行这个py文件,就可以执行对应的爬虫了。
上面的方法只适用于开启已编写好的爬虫,但对于非分布式的爬虫,start_urls会固定下来。
而下面的方法可给爬虫项目传入不同的start_urls。
如上,在.cfg文件的相对路径下创建一个py文件,在内部写入执行代码。
代码如下:
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
from Amazon.spiders import amazon
import os
def StartSpider(url):
os.environ[‘SCRAPY_SETTINGS_MODULE‘] = ‘Amazon.settings‘
scrapy_settings = get_project_settings()
scrapy_settings.set(
‘ITEM_PIPELINES‘,
{‘Amazon.pipelines.AmazonJsonPipeline‘: 300,
‘Amazon.pipelines.AmazonExcelPipeline‘: 400,},
)
process = CrawlerProcess(scrapy_settings)
start_urls = [url]
process.crawl(amazon.AmazonSpider,start_urls=start_urls) #开启指定的爬虫
process.start()
start_url = ‘https://xxx.com‘
StartSpider(start_url)
标签:item info port star load rtsp 路径 参数 mic
原文地址:https://www.cnblogs.com/FevolQ/p/14431123.html