Nebbia356 2021-06-23 23:06 采纳率: 100%
浏览 33
已采纳

能不能注释一下这个python的语句

def main():
    url = "https://data.stats.gov.cn/easyquery.htm?cn=C01&zb=A0C06&sj=2020"
    askURL(url)


def askURL(url):
    head = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
    }
    request = urllib.request.Request(url,headers=head)#,verify=False
    html = ""
    try:
        response = urllib.request.urlopen(request)
        html = response.read().decode("utf-8")
        # print(html)
    except urllib.error.URLError as e:
        if hasattr(e,"code"):
            print(e.code)
        if hasattr(e,"reason"):
            print(e.reason)
    return html


if __name__ == "__main__":
    main()
    result = open('result.html', 'r',encoding='utf-8')
    # data = re.findall(r"\"engine_search_result\":(.+?),\"jobid_count\"", str(result.readlines()))
    # data = re.findall(r"\"nodes\":(.+?),\"wdcode"", str(result.readlines()))
    data_wd = re.findall(r"\"nodes\":(.+?),\"wdcode\"", str(result.readlines()))
    # print(data)
    # s = data[0].replace('\\', '\\\\')
    jsonObj_wd = json.loads(data_wd[0])
    # print(jsonObj)
    row0 = []
    for item in jsonObj_wd:
        content0 = item['cname'] +'('+ item['unit']+')'
        row0.append([content0])
        # print(row0)
        with open("生活垃圾0.csv",'w',newline='') as t:  # numline是来控制空的行数的
            writer = csv.writer(t)  # 这一步是创建一个csv的写入器
            # writer.writerow(b)  # 写入标签
            writer.writerows(row0)  # 写入样本数据
    # result.close()

    result_data = open('result_data.html', 'r',encoding='utf-8')
    data_data = re.findall(r"\"datanodes\":(.+?),\"freshsort\"", str(result_data.readlines()))
    # print(data_data)
    # s = data[0].replace('\\', '\\\\')
    jsonObj_data = json.loads(data_data[0])
    # print(jsonObj_data)
    row1 = []
    for item in jsonObj_data:
        content1 = item['data']['strdata']#+'('+ item['unit']+')'
        row1.append([content1])
        print(row1)
# with open("生活垃圾1.csv",'w',newline='') as t:  # numline是来控制空的行数的
#     writer = csv.writer(t)  # 这一步是创建一个csv的写入器
#     # writer.writerow(b)  # 写入标签
#     for i in range(1,len(row1)+1):
#         if i%10==0:
#             writer.writerows(list(map(list, zip(*row1))))  # 写入样本数据
#             # writer.writerows(['\n'])

with open("生活垃圾1.csv", 'w', newline='') as t:  # numline是来控制空的行数的
    writer = csv.writer(t)  # 这一步是创建一个csv的写入器
    # writer.writerow(b)  # 写入标签
    writer.writerows(row1)  # 写入样本数据

#
    # result_data.close()

  • 写回答

2条回答 默认 最新

  • CSDN专家-HGJ 2021-06-23 23:50
    关注
    def main():
        url = "https://data.stats.gov.cn/easyquery.htm?cn=C01&zb=A0C06&sj=2020"#用于采集数据的网址
        askURL(url)#调用askURL函数,获得html文本内容
    
    
    def askURL(url):
        head = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
        }#请求头
        request = urllib.request.Request(url,headers=head)#对网页发送请求,verify=False
        html = ""#给html变量赋初值为空
        #异常捕获
        try:
            response = urllib.request.urlopen(request)#获取网页响应信息
            html = response.read().decode("utf-8")#读取并解码响应内容
            # print(html)
        except urllib.error.URLError as e:#如出现异常抛出异常
            if hasattr(e,"code"):#如出错异常信息中有错误码,则打印错误码
                print(e.code)
            if hasattr(e,"reason"):#如出错异常信息中有错误原因,则打印出来
                print(e.reason)
        return html#返回html文本内容
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行