我想用Scrapy创建一个包含三列的数据框;标题,链接和日期.这是我的代码:
class LaquotidienneSpider(scrapy.Spider):
name = 'laquotidienne'
start_urls = ['http://laquotidienne.ma/']
def parse(self, response):
for articles in response.css('div.list_article_detail'):
items=[]
item={
"title":articles.css('a::text').get().replace('\n',' ').strip(),
"link":"https://laquotidienne.ma/articles/economie",
"date":articles.css('span::text').get()
}
for i in range(2,501):
next_page="https://laquotidienne.ma/articles/economie/"+str(i)
yield response.follow(next_page, callback=self.parse)
items.append(item)
df = pd.DataFrame(items, columns=['title', 'link', 'date'])
但不幸的是它不工作,我得到:
name 'df' is not defined
任何帮助都是感激不尽的。
1条答案
按热度按时间blpfk2vs1#
问题是 * 每一页 * 你都要重复以下内容
我的程式码做什么
items
closed
开始运行如何运行代码
$ scrapy startproject stack_code
$ cd ./stack_code
$ scrapy genspider laquotidienne "http://laquotidienne.ma/"
stack_code/stack_code/spiders/laquotidienne.py
中编写以下代码$ scrapy crawl laquotidienne
代码