182def parse_videos(data):
183 results = []
184
185 dom = html.fromstring(data)
186
187 for item in eval_xpath_list(dom, "//li[contains(@class, 'video_item')]"):
188 thumbnail = None
189 try:
190 thumbnail = eval_xpath_getindex(item, ".//img[contains(@class, 'thumb')]/@src", 0)
191 except (ValueError, TypeError, SearxEngineXPathException):
192 pass
193
194 length = None
195 try:
196 length = parse_duration_string(extract_text(eval_xpath(item, ".//span[contains(@class, 'time')]")))
197 except (ValueError, TypeError):
198 pass
199
200 results.append(
201 {
202 "template": "videos.html",
203 "title": extract_text(eval_xpath(item, ".//a[contains(@class, 'info_title')]")),
204 "url": eval_xpath_getindex(item, ".//a[contains(@class, 'info_title')]/@href", 0),
205 "thumbnail": thumbnail,
206 'length': length,
207 }
208 )
209
210 return results