请选择 进入手机版 | 继续访问电脑版
开启辅助访问 设为首页收藏本站

从零开始学编程-编程学习教程分享,编程技术交流论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 511|回复: 0

[python] 简单了解get请求实现爬取百度搜索页

[复制链接]

1068

主题

1792

帖子

3704

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3704

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2018-7-17 15:40:31 | 显示全部楼层 |阅读模式
一般HTTP请求提交数据,需要编码成 URL编码格式,然后做为url的一部分,或者作为参数传到Request对象中。
关于url编码可以看下这个帖子:
python3urllib中的url编码与解码http://www.c0ks.com/thread-5489-1-1.html
(出处: 编程论坛)


Get方式

GET请求一般用于我们向服务器获取数据,比如说,我们用百度搜索 编程论坛https://www.baidu.com/s?wd=编程论坛

get请求和post请求

get请求和post请求

get请求头:GET /s?wd=%E7%BC%96%E7%A8%8B%E8%AE%BA%E5%9D%9B HTTP/1.1
在其中我们可以看到在请求部分里,http://www.baidu.com/s? 之后出现一个长长的字符串,其中就包含我们要查询的关键词编程论坛,于是我们可以尝试用默认的Get方式来发送请求。

[mw_shl_code=python,true]# urllib_get.py

import urllib.request

url = "http://www.baidu.com/s"
word = {"wd":"编程论坛"}
word = urllib.parse.urlencode(word) #转换成url编码格式(字符串)
newurl = url + "?" + word    # url首个分隔符就是 ?

headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"}

request = urllib.request.Request(newurl, headers=headers)

response = urllib.request.urlopen(request)

print(response.read())[/mw_shl_code]

这样就完整的爬取到了关键词为“编程论坛”的百度搜索页










不积跬步,无以至千里
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

展开

QQ|Archiver|手机版|小黑屋|从零开始学编程 ( 豫ICP备15032706号-2 )

GMT+8, 2019-11-18 08:55 , Processed in 0.111330 second(s), 34 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表