分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

urllib基础-利用网站结构爬取网页-百度搜索

发布时间:2023-09-06 02:01责任编辑:顾先生关键词:url

  有的时候爬取网页,可以利用网站额结构特点爬取网页

  在百度搜索框中输入搜索内容,单击搜索,浏览器会发送一个带有参数的url请求。尝试删除其中的一些参数,只剩下wd这个参数。发现wd是搜索内容。这样程序可以根据不同的wd值,请求不同的网页。

  

 1 from urllib import request,parse 2 ?3 # 构造请求对象 4 def baidu(wd): 5 ????# 爬取的网页 6 ????base_url = ‘http://www.baidu.com/s?‘ 7 ?8 ????qs = { 9 ????????‘wd‘ : wd10 ????}11 12 ????# 进行url编码13 ????qs = parse.urlencode(qs) # wd=hello14 15 ????# 构造请求对象16 ????req = request.Request(base_url + qs)17 18 ????# 发送请求19 ????response = request.urlopen(req)20 21 ????# 获取网页内容22 ????html = response.read().decode(‘utf-8‘)23 24 ????#打印网页25 ????print(html)26 27 28 if __name__ == "__main__":29 ????while True:30 ????????wd=input(‘请输入要搜索的内容:‘)31 ????????if wd == ‘q‘: #输入 q 退出32 ????????????break33 ????????baidu(wd) #下载网页

浏览器中发送请求的url中包含汉字是不能请求成功的,需要将汉字进行url编码。(可以在“站长工具”中在线编码解码)。

这里使用parse.urlencode()进行url编码。将编码之后的内容与原url进行拼接,形成完整的url。

urllib基础-利用网站结构爬取网页-百度搜索

原文地址:https://www.cnblogs.com/doitjust/p/9220762.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved