Python爬虫实战:抓取百度首页与QQ表情

需积分: 9 0 下载量 138 浏览量 更新于2024-08-11 收藏 206KB DOCX 举报
本资源是一份关于数据采集的基础学习教程文档,主要包括两个部分:爬取百度首页和下载QQ表情包。 首先,我们来详细解析如何利用通用网页框架进行百度首页的数据抓取。在这个例子中,作者使用Python的`requests`库作为主要工具。以下是一段代码片段: ```python # 导入requests库 import requests # 设置目标URL url = 'https://www.baidu.com' # 发送GET请求获取页面内容 r = requests.get(url) # 将响应的编码设置为UTF-8,以便正确解析中文字符 r.encoding = 'utf-8' # 打印获取到的HTML文本 print(r.text) ``` 这段代码的主要步骤是:发送一个HTTP GET请求到百度首页,然后将返回的响应内容(包括HTML结构)转换为字符串并打印出来。这对于了解网页结构和数据提取很有帮助,因为后续可能需要解析这些HTML元素来提取所需的信息。 接着,文档展示了如何下载QQ表情包。这里涉及到了两个函数:`get_url`用于从指定页面提取图片链接,`get_gif`负责下载图片。以下是关键代码: ```python def get_url(url): response = requests.get(url) url_pattern = r'img.*?src="(.*?)"' # 正则表达式匹配图片链接 url_list = re.findall(url_pattern, response.text) # 使用正则找到所有匹配的链接 return url_list def get_gif(url, name): response = requests.get(url) with open(r'd:\pc_demo\{}'.format(name), 'wb') as ft: # 以二进制模式写入本地文件 ft.write(response.content) # 主程序入口 if __name__ == '__main__': url = 'https://qq.yh31.com/xq/sx/101140.html' url_list = get_url(url) for url in url_list: gif_name = url[int(url.rfind('/'))+1:] # 获取文件名 com_url = 'https://qq.yh31.com/' + url get_gif(com_url, gif_name) ``` 这部分首先定义了两个辅助函数,`get_url`根据给定的网页源码提取出所有图片URL,然后`get_gif`函数根据获取的URL下载图片并保存到本地。在主程序中,通过循环遍历图片URL列表,并调用`get_gif`下载对应的表情包。 总结起来,这份文档教会了读者如何使用Python的requests库进行网页数据抓取,以及如何通过正则表达式提取图片链接,并将这些链接转化为实际的图片下载操作。这对于从事数据分析、网络爬虫或网站自动化等领域的学习者来说是非常实用的基础技能。