一、实例运用-1

抓取和保存百度翻译结果

1.明确实现需求的步骤

· 指定目标URL

· 弄清楚百度翻译的网页工作基本原理

· 发送请求抓取数据

· 将得到的数据保存到本地文件夹中

2.逻辑分析

· 目标URL :https://fanyi.baidu.com/sug

· 弄清楚百度翻译的网页工作基本原理

a.首先我们通过网页抓包工具找到存储数据的数据包,如下图所示

b.在抓包工具中点击payload选项卡,发现其中的参数正是我们要翻译的内容:preview

c.然后点击Headers选项卡,找到其中的URL即为目标URL:https://fanyi.baidu.com/sug 同时发现发送的请求为post请求

3.使用代码实现需求

import json

import requests

# 由于保存到本地的数据类型为Json类型,故需要安装json模块(pip install json)

post_url = 'https://fanyi.baidu.com/sug'

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.42'

}

# 输入要翻译的内容作为post请求的参数

word = input('please enter a word:')

data = {'kw': word}

response = requests.post(url=post_url, data=data, headers=headers)

dic_obj = response.json() # 把json格式的数据转换为字典格式

filename = word + '.json'

# 持久化存储数据

fp = open(filename, 'w', encoding='utf-8')

json.dump(dic_obj, fp=fp, ensure_ascii=False)

print("finished")

4.将得到的数据保存到本地文件夹中

保存的数据类型为json类型,由于json类型数据在python爬虫中很重要,所以大家要清楚其中的用法。

二、实例运用-2

抓取和保存肯德基的门店信息

1.明确实现需求的步骤

· 指定目标URL

· 弄清楚网页工作基本原理

· 发送请求抓取数据

· 将得到的数据保存到本地文件夹中

2.逻辑分析

· 目标URL :http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx

· 弄清楚百度翻译的网页工作基本原理

a.找到存放肯德基门店信息的数据包

b.分析得到数据的请求方式和参数

3.代码实现需求并保存得到的数据

import json

import requests

post_url = ' http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx'

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.42'}

keyword = input("请输入要查询的城市名称:")

data = {'cname': '',

'pid': '',

'op': 'keyword',

'keyword': keyword,

'pageIndex': '1',

'pageSize': '10'

}

response = requests.post(url=post_url, data=data, headers=headers)

# 封装函数

def kfc_json():

print(type(response)) #

page_json = response.json()

filename = keyword + '.json'

fp = open(filename, 'w', encoding='utf-8')

json.dump(page_json, fp=fp, ensure_ascii=False)

print(page_json)

# 调用函数

kfc_json()

print('over!')

好文阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: