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("爬取数据结束")


 爬取结果:

格式校验后的结果

猜你喜欢

转载自blog.csdn.net/qq_50582468/article/details/122376114