用request获取搜狗的页面存储成html页面
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#- 需求:爬取搜狗首页的页面数据
import requests
if __name__ == "__main__":
#step_1:指定url
url = 'https://www.sogou.com/'
#step_2:发起请求
#get方法会返回一个响应对象
response = requests.get(url=url)
#step_3:获取响应数据.text返回的是字符串形式的响应数据
page_text = response.text
print(page_text)
#step_4:持久化存储
with open('./sogou.html','w',encoding='utf-8') as fp:
fp.write(page_text)
print('爬取数据结束!!!')
加上query搜索,查看没有user-agnet并未伪装成浏览器
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#- 需求:爬取搜狗首页的页面数据
import requests
if __name__ == "__main__":
#step_1:指定url 接收输入的值作为query传入
url = 'https://www.sogou.com/web'
kw = input('enter a word:')
param = {
'query':kw
}
#step_2:发起请求
#get方法会返回一个响应对象
response = requests.get(url=url,params=param)
#step_3:获取响应数据.text返回的是字符串形式的响应数据
page_text = response.text
# print(page_text)
#step_4:持久化存储 存储成一个html页面
with open('./sogou.html','w',encoding='utf-8') as fp:
fp.write(page_text)
print('爬取数据结束!!!')
被检测出来是程序要求输入验证码

加上user-agent
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#UA:User-Agent(请求载体的身份标识) 伪装成浏览器
#UA检测:门户网站的服务器会检测对应请求的载体身份标识,如果检测到请求的载体身份标识为某一款浏览器,
#说明该请求是一个正常的请求。但是,如果检测到请求的载体身份标识不是基于某一款浏览器的,则表示该请求
#为不正常的请求(爬虫),则服务器端就很有可能拒绝该次请求。
#UA伪装:让爬虫对应的请求载体身份标识伪装成某一款浏览器
import requests
if __name__ == "__main__":
#UA伪装:将对应的User-Agent封装到一个字典中
headers = {
'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
}
url = 'https://www.sogou.com/web'
#处理url携带的参数:封装到字典中 输入一个数据,查询数据的结果的html.
kw = input('enter a word:')
param = {
'query':kw
}
#对指定的url发起的请求对应的url是携带参数的,并且请求过程中处理了参数
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,'保存成功!!!')
得到

7167

被折叠的 条评论
为什么被折叠?



