在使用Python抓取网页数据时,常会遇到经过编码的URL地址,需先进行解码处理才能正确访问。接下来将详细介绍具体的转换与抓取步骤。
1、 通过import导入所需模块,我们将使用urllib中的两个功能,具体如下所示。
2、 request用于发送请求,parse用于处理编码转换。
3、 以某汽车网站为例进行说明。
4、 创建字典 q,其中键 q 对应值为 宝马。
5、 将键设为q,对应的值设为宝马即可完成配置。
6、 完成字典设置后,需对其中的value值进行编码转换。由于该网站采用gbk编码格式,因此应使用gbk进行编码处理,具体代码如下所示。
7、 将参数 q 以 GBK 编码格式进行 URL 编码,生成符合要求的字符串结果。
8、 打印输入效果所示
9、 接下来构建完整的URL地址,因需抓取搜索页面,故创建一个用于表示页码的变量i,具体代码实现如下所示。
10、 将URL中的关键词和页码部分分别用res和变量i替代。
11、 输入网址后打印并用浏览器打开,验证其正确性,具体效果见附图所示。
12、 发送请求并检查其状态是否正常,相关代码如下所示。
13、 向指定网址发送请求并获取服务器响应结果。
14、 采用GBK编码读取源码并输出结果,具体实现如下:
15、 代码汇总及运行结果展示
评论
更多评论