我想使用Scrapy抓取多个存储在csv文件中的url。我的代码工作(没有显示错误),但它只抓取最后一个url,但不是所有的url。这是我的代码图片。请告诉我我做错了什么。我想抓取所有的url并将抓取的文本保存在一起。我已经尝试了很多在StackOverflow上找到的建议。我的代码-
import scrapy
from scrapy import Request
from ..items import personalprojectItem
class ArticleSpider(scrapy.Spider):
name = 'articles'
with open('C:\\Users\\Admin\\Documents\\Bhavya\\input_urls.csv') as file:
for line in file:
start_urls = line
def start_requests(self):
request = Request(url=self.start_urls)
yield request
def parse(self, response):
item = personalprojectItem()
article = response.css('div p::text').extract()
item['article'] = article
yield item
1条答案
按热度按时间a14dhokn1#
下面是一个简单的例子,说明如何在一个零碎的项目中包含一个来自文件的url列表。
在scrapy project文件夹中,我们有一个包含以下链接的文本文件:
spider代码如下所示(同样是最小的示例):
如果我们用
scrapy crawl guardian -o guardian_news.json
运行spider,我们会得到一个如下所示的JSON文件:您可以在此处找到Scrapy文档:https://docs.scrapy.org/en/latest/