小白学爬虫

小白学爬虫

最近刚开始学习爬虫,准备将自己的学习情况写下来。一是为了巩固记忆,二是为了更好的与人交流,让我的爬虫之路不孤单。

爬取搜狗首页对应的数据

下面展示一下 爬取数据的过程
1、首先需要导入requests模块,requests模块需要安装。
2、通过url获得响应对象,具体是通过get请求还是post请求这篇文章讲的很好requests模块

3、将获得的响应对象存储为text格式,最后保存到文件夹中。

import requests
# step_1
url='https://www.sogou.com'
#step_2:返回值是一个响应对象
response=requests.get(url=url)
#step_3:text返回的是字符串形式的响应数据
page_text=response.text
#step_4:
with open('./sougou.html','w',encoding='utf-8')as fp:
    fp.write(page_text)

基于搜狗的搜索写一个简易的搜索

下面展示一些 具体代码

1、首先我们先打开搜狗,我们可以看到搜狗的url为https://www.sogou.com,然后我们随便搜索一个东西,比如人民币,得到的url为https://www.sogou.com/web?query=人民币&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&sut=0&sst0=1608468239637&lkt=0%2C0%2C0&sugsuv=1608468236761682&sugtime=1608468239637,我们将人民币后面的删掉之后,发现链接还是可以搜索人民币,所以我们知道后面的是没用的,真正有用的就是https://www.sogou.com/web?query=人民币这一块。
2、而且我们可以知道”query=人民币“是我们搜索的内容,如果我们搜索的内容变成狗粮,那么”query=人民币“就会变成”query=狗粮“,这个是动态变化的,而前面的https://www.sogou.com/web是不变的,所以我们先将不变的存为url,然后将我们需要获取浏览的数据保存在wd,通过params参数对请求url参数进行封装。
3、通过headers进行UA伪装,不让网站发现是爬虫,通过浏览器进行查找你的User-Agent输入到你的请求头信息中。
4、通过get请求对数据进行请求,请求中,应该包含url,动态变化的params,请求头信息
5、通过手动改变响应数据的编码,使我们找出来的数据呈现为汉字,可以看懂。
6、将获得的响应对象存储为text格式,最后保存到文件夹中。

import requests
#想要将url携带的参数设定成为动态变化
url='https://www.sogou.com/web'
#存储的就是动态的请求参数
wd=input('enter a key:')
#params参数表示的是对请求url参数的封装
params={
    'quary':wd    
}
#即将发起请求的头信息
#header参数用作实现UA伪装
headers={
    'User-Agent':'你的请求头信息'
}

#一定需要将params作用到请求里面
response=requests.get(url=url,params=params,headers=headers)
#手动修改响应数据的编码,解决中文乱码
response.encoding='utf-8'
page_text=response.text
fileName=wd+'.html'
with open(fileName,'w',encoding='utf-8')as fp:
    fp.write(page_text)
print(wd,'下载成功')

因为有反爬机制:UA监测,所以我们需要进行反反爬处理:UA伪装,这就是获取header参数的原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值