main函数调用出现错误

img

img


。这个是按照一个博主的模板改的,结果出错了。还有下边那两个错误也也不懂,哪哪都不懂

提示很清楚,不懂就用搜索引擎

# 导入所用到的包
from lxml import etree
import urllib.request, urllib.error
# import xlwt
# import sqlite3


# 主函数
def main():
    # 网址
    baseurl = "https://bj.fang.ke.com/loupan/ap6nha3l2l3pg"
    # 网页
    datalist = getData(baseurl)
    print(datalist)

    # # 保存数据
    # savepath = "贝壳.xls"
    # saveData(datalist, savepath)


# 爬取网页
def getData(baseurl):
    datalist = []
    for i in range(1, 6):
        n = str(i)  # 页数
        url = baseurl + n  # 每一页的网址
        html = askURL(url)  # 访问每一个网页的内容
        tree = etree.HTML(html)
        ul_list = tree.xpath("/html/body/div[6]/ul[2]/li")
        # print(ul_list)
        for li in ul_list:
            data = []  # 保存个楼盘的全部信息
            imgSrc = li.xpath("./a/img/@data-original")[0]  # 获取图片链接
            data.append(imgSrc)
            title = li.xpath("./a/@title")[0]   # 获取名称
            data.append(title)
            price = li.xpath("./div/div[4]/div[1]/span[1]/text()")[0] # 获取价格
            data.append(price)

            datalist.append(data)

    return datalist


# 得到指定一个url的网页内容
def askURL(url):
    head = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Core/1.94.178.400 QQBrowser/11.2.5170.400"}

    request = urllib.request.Request(url, headers=head)
    html = ""
    try:
        response = urllib.request.urlopen(request)
        html = response.read().decode("utf-8")
    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()

img