data_lis =list(119.067268,32.212317,119.068173,32.211967,119.067008,32.211494)
时间: 2023-08-10 12:05:59 浏览: 109
这里有一个语法错误,应该将这些数字放在方括号中以创建一个列表:
```
data_list = [119.067268, 32.212317, 119.068173, 32.211967, 119.067008, 32.211494]
```
这将创建一个包含这些数字的列表。
相关问题
def gru_features(self, x, predict=False): x_input = x out = None out_lis = [] out_weight_list = [] if ( self.model_type == 'AdaRNN') else None for i in range(self.num_layers): out, _ = self.features[i](x_input.float()) x_input = out out_lis.append(out) if self.model_type == 'AdaRNN' and predict == False: out_gate = self.process_gate_weight(x_input, i) out_weight_list.append(out_gate) return out, out_lis, out_weight_list
这是一个用于提取特征的函数。该函数接受输入数据x,并根据模型的参数进行GRU层的计算。函数会返回GRU层的输出以及中间层的输出列表和权重列表(仅适用于AdaRNN模型)。
函数首先将输入数据赋值给x_input变量,然后使用循环遍历模型的每一层。在每一层中,函数会将x_input输入到GRU层中,并将输出保存到out变量中。然后,将out添加到out_lis列表中,以便在后续的操作中使用。
如果模型的类型是AdaRNN,并且predict参数为False(即非预测阶段),函数会调用process_gate_weight函数处理x_input并将结果添加到out_weight_list中。
最后,函数会返回out(GRU层的输出)、out_lis(中间层的输出列表)和out_weight_list(权重列表)作为结果。
selector = parsel.Selector(html_data) lis = selector.css('.list_item h2 a::attr(href)').getall() details = [] for li in lis: detail_url = 'https://travel.qunar.com' + li detail_html = requests.get(detail_url).text details.append(detail_html) # 输出每个网站的 html 数据 for detail_html in details: print(detail_html) detail_html = requests.get(detail_url).text #解析数据 detail_selector = parsel.Selector(detail_html) title = detail_selector.css('.b_crumb_cont *:nth-child(3)::text').get() comment = detail_selector.css('.title white::text').get() view_count = detail_selector.css('.view_count::text').get() date = detail_selector.css('#js_mainleft > div.b_foreword > ul > li.f_item.when > p > span.data::text').get() days = detail_selector.css('#js_mainleft > div.b_foreword > ul > li.f_item.howlong > p > span.data::text').get() money = detail_selector.css('#js_mainleft > div.b_foreword > ul > li.f_item.howmuch > p > span.data::text').get() character = detail_selector.css('#js_mainleft > div.b_foreword > ul > li.f_item.who > p > span.data::text').get() play_list = detail_selector.css('#js_mainleft > div.b_foreword > ul > li.f_item.how > p > span.data > span::text').getall() for play in play_list: print(play) print(title, comment, view_count, date, days, money, character, play_list, detail_url) time.sleep(random.randint(3,5))这段代码只能输出最后一个网站的信息 该怎么改
这段代码只能输出最后一个网站的信息是因为在循环中每次请求新的网站信息时都会覆盖前面的信息,需要将每次请求的信息存储到一个列表中,最后再一起处理。
可以尝试如下修改:
```python
selector = parsel.Selector(html_data)
lis = selector.css('.list_item h2 a::attr(href)').getall()
details = []
for li in lis:
detail_url = 'https://travel.qunar.com' + li
detail_html = requests.get(detail_url).text
details.append(detail_html)
time.sleep(random.randint(3, 5)) # 每次请求后等待一段时间,避免请求频繁被封
for detail_html in details:
# 解析数据
detail_selector = parsel.Selector(detail_html)
title = detail_selector.css('.b_crumb_cont *:nth-child(3)::text').get()
comment = detail_selector.css('.title.white::text').get()
view_count = detail_selector.css('.view_count::text').get()
date = detail_selector.css('#js_mainleft > div.b_foreword > ul > li.f_item.when > p > span.data::text').get()
days = detail_selector.css('#js_mainleft > div.b_foreword > ul > li.f_item.howlong > p > span.data::text').get()
money = detail_selector.css('#js_mainleft > div.b_foreword > ul > li.f_item.howmuch > p > span.data::text').get()
character = detail_selector.css('#js_mainleft > div.b_foreword > ul > li.f_item.who > p > span.data::text').get()
play_list = detail_selector.css('#js_mainleft > div.b_foreword > ul > li.f_item.how > p > span.data > span::text').getall()
for play in play_list:
print(play)
print(title, comment, view_count, date, days, money, character, play_list, detail_url)
```
这样每次请求得到的网站信息都会被存储到 `details` 列表中,最后再遍历处理每个网站的信息。同时,为了避免请求频繁被封,可以在每次请求后等待一段时间。
阅读全文