HTML5与CSS3入门:新标签与多媒体探索

版权申诉
0 下载量 190 浏览量 更新于2024-09-10 收藏 10KB MD 举报
HTML5CSS3_day01.md 是一份关于HTML5和CSS3基础入门的教程,主要内容涵盖了HTML5的基本概念、扩展内容及其在网页开发中的应用,以及多媒体标签特别是音频和视频标签的使用。以下是详细的解读: **HTML5概览** HTML5是HTML标准的最新版本,它不仅是一个语言升级,还引入了一系列新技术,如HTML5、CSS3和JavaScript,形成一个更强大且统一的技术堆栈。HTML5强调语义化,即使用新的语义化标签(如`header`、`nav`、`article`等)来提供结构和意义,这有助于提高搜索引擎优化(SEO)和移动设备的兼容性。此外,HTML5引入了本地存储功能,支持多媒体元素(如`audio`和`video`)的无缝集成,并对浏览器兼容性进行了显著改进。 **新增的语义化标签** HTML5中引入了一系列语义化标签,例如`header`用于文档的头部,`nav`表示导航区域,`article`标识独立的内容块,`section`代表页面的主要部分,`aside`表示侧边栏内容,而`footer`则标记文档的底部。这些标签让开发者能更清晰地传达内容结构,提升网站的可访问性和可维护性。然而,为了确保在旧版浏览器(如IE9)中的兼容性,可能需要对这些新标签进行适当转换。 **多媒体标签** 多媒体是HTML5的一大亮点,主要通过`audio`和`video`标签实现。`audio`标签支持多种音频格式,尽管早期版本存在浏览器兼容性问题,但随着浏览器更新,现在大部分新版本浏览器已内置对这些格式的支持。`audio`标签允许在无需额外插件的情况下播放音频,但需要考虑不同浏览器可能支持的音频格式差异,因此在使用时需要谨慎处理。 在实际代码示例中,`audio`标签通常包含`src`属性指定音频文件路径,以及`controls`属性显示播放控件。对于自动播放(autoplay),虽然Chrome浏览器默认禁止,但开发者仍需注意其他浏览器的行为和可能的用户体验影响。 HTML5CSS3_day01.md文档详细介绍了HTML5的新特性,旨在帮助读者掌握基础语法和现代Web开发的核心元素,以便于创建更高效、可访问和响应式的网页。随着课程的深入,将涉及更多高级技术和实践,包括CSS3的进一步探索和更复杂的多媒体管理。
2023-06-13 上传
2023-06-12 上传

import requests import random import parsel visited_urls = set() # 保存已经访问过的链接 page = 1 while True: # 循环爬取 url = f'https://travel.qunar.com/travelbook/list.htm?page={page}&order=hot_heat' html_data = requests.get(url).text selector = parsel.Selector(html_data) lis = selector.css('.list_item h2 a::attr(href)').getall() # 遍历当前页面中的所有链接 for li in lis: detail_url = 'https://travel.qunar.com' + li if detail_url in visited_urls: # 如果链接已经访问过,则跳过 continue visited_urls.add(detail_url) # 将链接加入集合中 detail_html = requests.get(detail_url).text time.sleep(random.randint(3, 5)) 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)) # 判断是否需要继续爬取 if len(lis) == 0 or page >= 20: break page += 1这段代码怎么将爬取出来的所有数据保存到csv文件

2023-06-13 上传