【爬虫入门练习日记1】爬取搜狗指定词条的搜索结果页面

爬取要求:实现浏览器的基本功能,输入关键字就可以返回指定词条对应的搜索结果,也就是说制作一个简易的网页采集器。

一、爬取步骤

1.指定URL:这部分主要包括两步,(1)UA伪装、UA伪装是让爬虫对应的请求载体身份标识伪装成某一款浏览器(2)请求参数处理

2.发起请求

3.获取响应数据(第2、3步可以合并)

4.数据储存

二、前期准备

1.环境安装

基于网络请求模块主要分为两类,Urlib模块与requests模块,目前所主流的是requests模块,模拟浏览器发送请求,在终端输入下方代码:

pip install requests

2.指定URL

URL简单来说就是目标网址。必须要求完整,文本传输协议也需要包含。即http、https

https://www.sogou.com/

3.UA伪装

当指定URL之后,必须进行UA伪装。

User-Agent:门户网站的服务器会检测对应请求的载体身份标识。爬虫就是模拟浏览器的搜索功能,只不过是以代码程序的形式实现。

但是一般浏览器都会设置反爬机制,此时可以通过UA伪装成正常的用户发送请求。如果检测到请求的载体身份标识为某一款浏览器就是正常请求,但是在没有UA伪装的前提之下,检测到请求的载体身份标识不是基于某一款浏览器,则是不正常请求,服务器便会拒绝该请求。

UA伪装的方法:将User-Agent封装到字典当中去

headers ={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.3'}

如何进行UA伪装?

浏览器任意页面——右键——检查——network——ctrl+R创新一下,就会出现对应任务

4.发送请求

通过查询可知,需要用get()方法获取。以下代码是判断请求是否成功。

response = requests.get(url=url, params=param, headers=headers)
print(response)

出现2开头的说明请求成功,4开头说明请求失败

<Response [200]>

进程已结束,退出代码0

5.获取响应数据

content-Type是text形式,使用response的一个属性获取响应数据,并储存在page_text里面。

page_text =response.text

6.数据储存

三.完整代码

import requests
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; 0'}
url = "https://www.sogou.com/web"
kw = input("请输入:")
param = {"query":kw}
response = requests.get(url=url, params=param, headers=headers)
page_text =response.text
fileName = kw +'.html'
with open(fileName,'w',encoding="utf-8") as fp:
    fp.write(page_text)
print(fileName, "保存成功")

运行成功后,就会在任务栏中出现一个html文件,打开文件在浏览器中运行

备注:学习来源

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值