py程序员写代码的习惯养成 防止想到什么写什么
本例以一个爬虫项目为例
描述写代码的思路
架构注释
目标是明确:主线步骤
对起始页发起请求,获取数据
根据获取的数据,构建请求url列表
依次访问url列表中的网址,将响应保存到响应列表中
依次处理响应列表中的内容,将处理好的结果进行保存
将架构注释用代码形式表现出来
# 对起始页发起请求,获取数据
url = "起始页网址"
max_page = get_max_page(url)
# 根据获取的数据,构建请求url列表
request_url_list = get_request_url_list(max_page)
# 依次访问url列表中的网址,将响应保存到响应列表中
response_list = get_response_list(request_url_list)
# 依次处理响应列表中的内容,将处理好的结果进行保存
save_data(response_list)
分别实现每一个方法中的逻辑
以这个功能为例
get_request_url_list
写出它的实现代码
def get_request_url_list(max_page):
url_list = list()
for i in range(1, max_page + 1):
temp = "第{}页的url格式化内容的代表".format(i)
url_list.append(temp)
return url_list
其它方法依次类推
功能完成
外层的结构布局完毕,里面的功能逻辑写完成,并且按照约定返回对应的内容。
例子代码参考
def get_request_url_list(max_page):
url_list = list()
for i in range(1, max_page + 1):
temp = "第{}页的url格式化内容的代表".format(i)
url_list.append(temp)
return url_list
# 对起始页发起请求,获取数据
url = "起始页网址"
max_page = get_max_page(url)
# 根据获取的数据,构建请求url列表
request_url_list = get_request_url_list(max_page)
# 依次访问url列表中的网址,将响应保存到响应列表中
response_list = get_response_list(request_url_list)
# 依次处理响应列表中的内容,将处理好的结果进行保存
save_data(response_list)