栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python爬虫学习——requests小实战

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python爬虫学习——requests小实战

目录

1、实现百度翻译破解

2、爬取豆瓣电影的详情数据

3、爬取肯德基餐厅查询中指定城市的餐厅


1、实现百度翻译破解

根据搜索的百度翻译网页,右键->检查->Network

我们可以了解到请求数据的地址:https://fanyi.baidu.com/sug、请求数据的方式:POST(请求携带参数,参数为kw:dog)、响应数据的类型:json

代码实现

import json
import requests
if __name__=='__main__':
    #1.指定url
    post_url='https://fanyi.baidu.com/sug'
    #2.进行UA伪装,User-Agent的值可以在网页检查中找到
    headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
    }
    #手动输入要翻译的值
    word=input('enter a word:')
    #3.post请求参数处理
    data={
        'kw':word
    }
    #4.进行请求发送
    response=requests.post(url=post_url,data=data,headers=headers)
    #5.获取响应数据,json()返回的是obj,只有确认了响应数据类型是json数据才能用json()
    dic_obj=response.json()
    #5.持久化存储
    filename=word+'.json'
    fp=open(filename,'w',encoding='utf-8')
    json.dump(dic_obj,fp=fp,ensure_ascii=False)
    print('over!!!')

爬取后的结果文件:

json格式化校验后的结果

2、爬取豆瓣电影的详情数据

例如:爬取豆瓣电影中喜剧电影的详情数据

通过右键页面检查,当页面下拉触底时可以观察到如下信息,请求数据的地址、请求数据的方式、响应数据的类型,请求数据携带的参数为(type、interval_id、action、start、limit)

代码实现

import json
import requests
if __name__=='__main__':
    #1.指定url
    url='https://movie.douban.com/j/chart/top_list'
    #2.进行UA的伪装
    headers={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
    }
    # 3.post请求参数处理
    param = {
        'type': '24',
        'interval_id': '100:90',
        'action': '',
        'start': '0',  # 位置从0开始即为第一个
        'limit': '20',
    }
    # 4.进行请求发送
    response=requests.get(url=url,params=param,headers=headers)
    # 5.获取响应数据,json()返回的是obj
    list_data=response.json()
    # 6.持久化存储
    fp=open('./douban.json','w',encoding='utf-8')
    json.dump(list_data,fp=fp,ensure_ascii=False)
    print('over!!!')



爬取后的结果文件:

json格式化校验后的结果:

3、爬取肯德基餐厅查询中指定城市的餐厅

在网页中搜索"肯德基"官方进入->页面最下面的餐厅查询

->输入查询城市

再进入网页检查->Network查询写代码时需要知道的信息

地址请求携带的参数

代码实现

import json
import requests
if __name__=='__main__':
    #1.指定url
    url='http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
    #2.进行UA的伪装
    headers={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
    }
    address = input('enter a word:')
    # 3.post请求参数处理
    data = {
        'cname': '',
        'pid': '',
        'keyword': address,
        'pageIndex': '2',
        'pageSize': '10',
    }
    # 4.进行请求发送
    response=requests.post(url=url,data=data,headers=headers)
    page_text=response.text
    with open('./kendeji.html','w',encoding='utf-8') as fp:
        fp.write(page_text)
    print("爬取数据结束")


 爬取结果:

格式校验后的结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/700901.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号