У меня работает скрипт, использующий scrapy, который берет данные из таблицы.Но он сохраняется в формате, потому что исходные данные в порядке аргументов строки:
name
firstitem
seconditem
...
lastitem
Как я могу сохранить этот файл в формате строки без имени, например
21:00 2019/02/22, firstitem, seconditem,...,lastitem
Я ужеу меня есть список, который содержит текущее время, поэтому мне нужно переписать этот dict как список, чтобы разобрать его в CSV.
EDIT Я заменил ключ словаря аргументом current_time, но проблема с выводомФормат все еще существует.
import scrapy as sp
from time import gmtime, strftime
current_time = strftime("%Y-%m-%d %H:%M:%S", gmtime())
class tableSpider(sp.Spider):
name='spider'
start_urls = ['example.com'] #Cant expose real url
def parse(self, response):
CLASS_SELECTOR = '.col-xs-3'
for ex in response.css(CLASS_SELECTOR):
NAME_SELECTOR = 'a:not(.dep) ::text'
yield {
current_time: ex.css(NAME_SELECTOR).extract_first(),
}
from scrapy.crawler import CrawlerProcess
c = CrawlerProcess({
'USER_AGENT': 'Chrome/72.0.3626.119',
'FEED_FORMAT': 'csv',
'FEED_URI': 'booking.csv',
})
c.crawl(tableSpider)
c.start()
РЕДАКТИРОВАТЬ Целевой Html-код с замененными значениями (мне нужно значение всего «Item»):
<div class="table-responsive catalog">
<table class="table table-striped table-bordered">
<tr class="info">
<th class="text-center">#</th>
<th>table</th>
<th>description</th>
</tr>
<tr>
<td class="text-center col-xs-1 text-valign">1</td>
<td class="col-xs-3">
<a href="scr" target="_blank">ITEM</a>
<br/>
<small>date</small>
</td>
<td class="col-xs-7 text-valign">adv</td>
</tr>
<tr style="color: #ffffff;background-color: #000000">
<td class="text-center col-xs-1 text-valign">2</td>
<td class="col-xs-3">
<a class="dep" href="scr" title="22">22</a> <a href="scr" target="_blank">ITEM</a>
<br/>
<small>date</small>
</td>
<td class="col-xs-7 text-valign">adv</td>
</tr>
<tr>
<td class="text-center col-xs-1 text-valign">3</td>
<td class="col-xs-3">
<a href="scr" target="_blank">ITEM</a>
<br/>
<small>date</small>
</td>
<td class="col-xs-7 text-valign">adv</td>