爬虫学习
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了爬虫学习,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3743字,纯文字阅读大概需要6分钟。
内容图文
![爬虫学习](/upload/InfoBanner/zyjiaocheng/1036/c19daa42ce68464294f6a58efc6fd831.jpg)
爬虫学习
requests模块:基于网络请求的原生模块。
作用:模拟浏览器发送请求
用法:
要遵从浏览器发送请求的流程:
1,指定所请求的url
2,对指定的url发送HTTP请求
3,获取响应数据
4,对数据进行持久化存储
安装环境:
pip install requests
需求:指定requests爬取搜狗首页的页面数据
案例:爬取搜狗制定词条对应的搜索结果页面
获取百度翻译的结果
爬取豆瓣电影分类排行榜
爬取肯德基餐厅查询
爬取国家药品监督局化妆品生产许可证相关数据
python中基于网络请求的模块:urllib,requests模块,基于网络请求的模块
import requests
def url_huoqu():
# 指定url
url = ‘https://www.baidu.com/’
# 发送请求
reponse = requests.get(url=url)
print(reponse)
# get()请求方法会返回一个响应对象
# 获取相应数据,text返回的是字符串形式的响应数据
page_text = reponse.text
print(page_text)
# 存储数据
with open(’/sogou.html’, ‘w’, encoding=‘utf-8’) as fp:
fp.write(page_text)
print(“爬取数据结束”)
# python中基于网络请求的模块:urllib,requests模块,基于网络请求的模块
#UA:User-Agent(请求载体的身份标识)
#UA伪装:门户网站的服务器会监测对应请求的载体身份标识,当监测到请求载体的身份标识为某浏览器时,则,当前的请求为正常用户发送的正常请求
#当监测到载体身份标识不为基于浏览器的,则表示该请求为非正常请求(爬虫)则服务器端会拒绝该请求。
#UA伪装:让爬虫对应的请求载体身份标识伪装成某一浏览器
import requests
import json
#在使用json语句时要定义json模块
def url_huoqu():
# 指定url
url = 'https://www.baidu.com/'
# 发送请求
reponse = requests.get(url=url)
print(reponse)
# get()请求方法会返回一个响应对象
# 获取相应数据,text返回的是字符串形式的响应数据
page_text = reponse.text
print(page_text)
# 存储数据
with open('/sogou.html', 'w', encoding='utf-8') as fp:
fp.write(page_text)
print("爬取数据结束")
def url_caijiqi():
# UA伪装:将对应的USER-AGENT封装到字典中
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0'}
url = "https://www.baidu.com/s?"
#处理url所携带的参数
wd = input('enter a word:')
param = {'query':wd}
#发送请求的URL如果有参数,将参数化为键值对封装在params中
response = requests.get(url=url,params=param,headers = headers)
#params动态拼接参数,response 获得请求的相应对象,headers为所爬取的网页的头部信息
page_text = response.text
fileName = wd+'.html'
with open(fileName,'w',encoding='utf-8') as fp:
fp.write(page_text)
print("保存成功")
def url_chuancan():
#指定URl
post_url = 'https://fanyi.baidu.com/sug'
#进行UA伪装
headers = {'User-Agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0"}
wd = input("pleas enter a word:")
param = {'kw':wd}
response = requests.post(url=post_url,data=param,headers=headers)
#data:赋值一个字典类型的数据,字典中封装了URL所携带的参数
#headers:进行ua伪装
dic_obj = response.json()
print(dic_obj)
#进行持久化存储
fileName = wd+'.json'
fp = open(fileName,'w',encoding='utf-')
json.dump(dic_obj,fp=fp,ensure_ascii=False)
'''
json()返回的是obj(字典对象)
当确认响应对象为json类型时,才可使用json()模块进行数据类型转换
'''
"""
dump(obj,file,【protoco】)方法:将字典对象保存到文件file中,参数proto为序列化模式,默认为0
"""
def url_douban():
url = 'https://movie.douban.com/j/chart/top_list?'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0'}
start = input("please enter the start :")
limit = input("and the limit")
param = {"type":"24",
"interval_id":"100:90",
"action":'',
"start":start,
"limit":limit}
response = requests.get(url=url,params=param,headers=headers)
print(response)
list_obj = response.json()
print(list_obj)
for value in list_obj:
print('title:'+str(value['title']))
print('rank:'+str(value['rank']))
flieName ='diangyingpaiming.json'
# 可以以字符串的形式存储文件名
fp = open(flieName,'w',encoding='utf-8')
json.dump(list_obj,fp=fp,ensure_ascii=False)
print("over")
if __name__=="__main__":
#url_huoqu()
#url_caijiqi()
#url_chuancan()
url_douban()
内容总结
以上是互联网集市为您收集整理的爬虫学习全部内容,希望文章能够帮你解决爬虫学习所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。