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 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。