【Python爬虫】模拟百度搜索并保存网页源代码
该程序为入门级爬虫,巩固urllib库的基本使用
文章目录
- 分析步骤
- 具体实现步骤
- 首先,导包
- 1.使用百度搜索任意内容
- 2.分析请求的url地址
- 3.处理参数并发送请求
- 4.保存网页源代码
- 最后附上程序源代码
分析步骤
- 发送一个请求
- 分析获取请求的url地址,参数
- 处理参数并发送请求,获取响应
- 把得到的响应保存文件
需求:爬虫实现百度搜索并保存搜索后的网页源代码(第一页)
环境:Python 3.6
使用的库:urllib
使用的工具:Chrome,Pycharm
具体实现步骤
首先,导包
导入后续需要使用到的模块
import urllib.request
import urllib.parse
1.使用百度搜索任意内容
使用百度搜索得到了发送请求的url地址(这里搜索的是“苹果”)
url = 'https://www.baidu.com/s?' # ?后面还有需要添加的参数
2.分析请求的url地址
简单地分析这个url地址后,获取需要用到的参数:ie=utf-8,wd=“搜索的内容”
target = input('请输入需要搜索的内容:') # 定义一个变量获取输入
data = {'ie': 'utf-8', # 这个参数经过测试可有可无,保险起见还是加上'wd': target, # 想要搜索的内容
}
3.处理参数并发送请求
# 对参数进行编码
data = urllib.parse.urlencode(data)
# 合并url
url = url + data
# 构造请求对象
request = urllib.request.Request(url, headers=headers)
# 发送请求
response = urllib.request.urlopen(request)
4.保存网页源代码
# 使用'wb'方式保存
with open('./result.html', 'wb') as fp:fp.write(response.read())# 如果仅使用'w'方式保存,需要进行解码处理:# fp.write(response.read().decode())
最后附上程序源代码
import urllib.request
import urllib.parse# 准备需要发送请求的url
url = 'https://www.baidu.com/s?'
# 准备请求头
headers = {'User-Agent': 'Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; Acoo Browser 1.98.744; .NET CLR 3.5.30729)',
}# 键盘读取需要搜索的内容
target = input('请输入需要搜索的内容:')
# url上的一些参数
data = {'ie': 'utf-8','wd': target,
}
# 对参数进行编码
data = urllib.parse.urlencode(data)
# 合并url
url = url + data# 构造请求对象
request = urllib.request.Request(url, headers=headers)# 发送请求
response = urllib.request.urlopen(request)# 保存文件
with open('./result.html', 'wb') as fp:fp.write(response.read())
【Python爬虫】模拟百度搜索并保存网页源代码相关推荐
- python爬去百度搜索结果_python爬虫获取百度搜索结果的简单示例
编程之家收集整理的这篇文章主要介绍了python爬虫获取百度搜索结果的简单示例,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考. 感兴趣python爬虫获取百度搜索结果的简单示例的小伙伴, ...
- python模拟百度搜索点击链接_用 Python 获取百度搜索结果链接
前言 近期有许多项目需要这个功能,由于Python实现起来比较简单就这么做了,代码贴下来觉得好点个赞吧~ 代码 # coding: utf-8 import os import time import ...
- java 模拟点击按钮_HttpUnit模拟按钮点击以及爬虫实现(模拟百度搜索)
HttpUnit模拟按钮点击以及爬虫实现(模拟百度搜索) HttpUnit 本质上相当于一个后台的透明的浏览器引擎,使用java中的HttpUnit可以实现模拟点击按钮,抓取网页元素,实现动态爬虫,之 ...
- Python 爬虫 - 获取百度关键字搜索内容
Python 爬虫 获取百度关键字搜索内容 https://www.cnblogs.com/w0000/p/bd_search_page.html Github headers内的参数,仅有UA时,返 ...
- python登录教务系统_强智科技教务系统python爬虫模拟登录分析(湖南)
强智科技教务系统python爬虫模拟登录分析(湖南) 本文章仅用作于学习 前提:最近期末到来,想第一时间看到新出成绩的,于是就有了爬取学校教务系统自己的成绩并通过Qmsg酱推送到自己QQ上的想法,目前 ...
- python如何获取百度搜索结果的真实URL
在公司中需要去抓取一些数据,就遇到了以下这些问题: 想通过爬虫获取百度搜索结果的原始链接.通过Firefox的HttpFox插件,发现在搜索结果的URL是加密过的,例如: http://www.bai ...
- python怎么模拟浏览器交互_干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏)...
今天为大家带来的内容是:干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏) 文章主要介绍了python爬虫模拟浏览器的两种方法,结合实例形式分析了Python爬虫模拟浏览器的两种常见操 ...
- python爬取百度搜索_使用Python + requests爬取百度搜索页面
想学一下怎样用python爬取百度搜索页面,因为是第一次接触爬虫,遇到一些问题,把解决过程与大家分享一下 1.使用requests爬取网页 首先爬取百度主页www.baidu.com import r ...
- python爬虫模拟有道翻译
python爬虫模拟有道翻译 案例目的: 通过模拟有道翻译,介绍携带form表单发送post请求以及破解form表单中的加密数据. 案例实现功能: 模拟有道翻译,实现中英互译. 爬取过程分析: 找到目 ...
最新文章
- C语言诠释--为什么内存是线性分布的。
- 根据id/类名/元素名称查找元素
- spring框架学习(二)依赖注入
- php基础面试选择题,php面试之javascript经典面试题
- 关闭sublime更新提示
- (二十五)【NIPS 2017】Prototypical Networks for Few-shot Learning
- JS学习笔记1-JavaScript 输出
- Linux中五种压缩命令
- 搭建 Kafka 集群 (v2.12-2.3.0)
- 基于netty框架的socket长连接负载均衡解决方案
- InstantiationException in hadoop map reduce program
- 关于Mac OS的一些想法
- 真win10官方原版ISO下载方法
- 腾达U12无线网卡驱动安装教程
- 腾讯程序员平均月薪7.48万,分分钟变身“柠檬精”
- 直角三角形斜边用计算机怎么算,直角三角形斜边怎么算 计算方法有哪些
- 【BIT云计算大作业】基于Spark的K近邻(KNN)查询以及K-mer计数
- linux服务器怎么刻录光盘,Ubuntu 下使用K3B软件刻录光盘(图)
- 华硕ROG|玩家国度冰刃6双屏GX650RX Windows11原厂预装系统 工厂模式恢复安装带ASUSRecevory一键还原
- IBIS建模——第2部分:为何以及如何创建您自己的IBIS模型