该程序为入门级爬虫,巩固urllib库的基本使用

文章目录

  • 分析步骤
  • 具体实现步骤
    • 首先,导包
    • 1.使用百度搜索任意内容
    • 2.分析请求的url地址
    • 3.处理参数并发送请求
    • 4.保存网页源代码
  • 最后附上程序源代码

分析步骤

  1. 发送一个请求
  2. 分析获取请求的url地址,参数
  3. 处理参数并发送请求,获取响应
  4. 把得到的响应保存文件

需求:爬虫实现百度搜索并保存搜索后的网页源代码(第一页)
环境: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爬虫】模拟百度搜索并保存网页源代码相关推荐

  1. python爬去百度搜索结果_python爬虫获取百度搜索结果的简单示例

    编程之家收集整理的这篇文章主要介绍了python爬虫获取百度搜索结果的简单示例,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考. 感兴趣python爬虫获取百度搜索结果的简单示例的小伙伴, ...

  2. python模拟百度搜索点击链接_用 Python 获取百度搜索结果链接

    前言 近期有许多项目需要这个功能,由于Python实现起来比较简单就这么做了,代码贴下来觉得好点个赞吧~ 代码 # coding: utf-8 import os import time import ...

  3. java 模拟点击按钮_HttpUnit模拟按钮点击以及爬虫实现(模拟百度搜索)

    HttpUnit模拟按钮点击以及爬虫实现(模拟百度搜索) HttpUnit 本质上相当于一个后台的透明的浏览器引擎,使用java中的HttpUnit可以实现模拟点击按钮,抓取网页元素,实现动态爬虫,之 ...

  4. Python 爬虫 - 获取百度关键字搜索内容

    Python 爬虫 获取百度关键字搜索内容 https://www.cnblogs.com/w0000/p/bd_search_page.html Github headers内的参数,仅有UA时,返 ...

  5. python登录教务系统_强智科技教务系统python爬虫模拟登录分析(湖南)

    强智科技教务系统python爬虫模拟登录分析(湖南) 本文章仅用作于学习 前提:最近期末到来,想第一时间看到新出成绩的,于是就有了爬取学校教务系统自己的成绩并通过Qmsg酱推送到自己QQ上的想法,目前 ...

  6. python如何获取百度搜索结果的真实URL

    在公司中需要去抓取一些数据,就遇到了以下这些问题: 想通过爬虫获取百度搜索结果的原始链接.通过Firefox的HttpFox插件,发现在搜索结果的URL是加密过的,例如: http://www.bai ...

  7. python怎么模拟浏览器交互_干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏)...

    今天为大家带来的内容是:干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏) 文章主要介绍了python爬虫模拟浏览器的两种方法,结合实例形式分析了Python爬虫模拟浏览器的两种常见操 ...

  8. python爬取百度搜索_使用Python + requests爬取百度搜索页面

    想学一下怎样用python爬取百度搜索页面,因为是第一次接触爬虫,遇到一些问题,把解决过程与大家分享一下 1.使用requests爬取网页 首先爬取百度主页www.baidu.com import r ...

  9. python爬虫模拟有道翻译

    python爬虫模拟有道翻译 案例目的: 通过模拟有道翻译,介绍携带form表单发送post请求以及破解form表单中的加密数据. 案例实现功能: 模拟有道翻译,实现中英互译. 爬取过程分析: 找到目 ...

最新文章

  1. C语言诠释--为什么内存是线性分布的。
  2. 根据id/类名/元素名称查找元素
  3. spring框架学习(二)依赖注入
  4. php基础面试选择题,php面试之javascript经典面试题
  5. 关闭sublime更新提示
  6. (二十五)【NIPS 2017】Prototypical Networks for Few-shot Learning
  7. JS学习笔记1-JavaScript 输出
  8. Linux中五种压缩命令
  9. 搭建 Kafka 集群 (v2.12-2.3.0)
  10. 基于netty框架的socket长连接负载均衡解决方案
  11. InstantiationException in hadoop map reduce program
  12. 关于Mac OS的一些想法
  13. 真win10官方原版ISO下载方法
  14. 腾达U12无线网卡驱动安装教程
  15. 腾讯程序员平均月薪7.48万,分分钟变身“柠檬精”
  16. 直角三角形斜边用计算机怎么算,直角三角形斜边怎么算 计算方法有哪些
  17. 【BIT云计算大作业】基于Spark的K近邻(KNN)查询以及K-mer计数
  18. linux服务器怎么刻录光盘,Ubuntu 下使用K3B软件刻录光盘(图)
  19. 华硕ROG|玩家国度冰刃6双屏GX650RX Windows11原厂预装系统 工厂模式恢复安装带ASUSRecevory一键还原
  20. IBIS建模——第2部分:为何以及如何创建您自己的IBIS模型

热门文章

  1. ARM的异常处理机制
  2. 22西北大学网络和数据中心软件专硕845考研上岸备考经
  3. 深度学习之Pix2PixHD
  4. SqlServer中的SmallDatetime作为条件查询的截至日期问题!
  5. 微宝球型机器人功能_腾讯智能球型机器人“微宝”首次亮相 好玩简直不敢错过...
  6. 关于一些刚开始接触计算机的基础知识
  7. NFS共享概述+autofs应用
  8. Redis命令之集合
  9. 课工场新闻发布系统Web的数据库代码
  10. 【mysql学习篇】count()优化分析