川朴老师 2021-09-12 08:51 采纳率: 75%
浏览 536

pycharm里出现如下报错 [Errno 11002] getaddrinfo failed

img

然后我的代码是这样的

import urllib.request, urllib.error
import re
from bs4 import BeautifulSoup
import xlwt


def main():
    baseurl = "https://movie.douban.com/top250?start="
    # 1.爬取网页
    datalist = getData(baseurl)
    savepath = ".\\豆瓣电影Top250.xls"#一个 . 表示保存在当前文件夹,加\\表示当前的位置
    #3.保存数据
    #saveData(savepath)

    #askURL("https://movie.douaban.com/top250?start=0")
#爬取网页
def getData(baseurl):
    datalist = []#列表
    for i in range(0,10):
        url = baseurl + str(i*25)
        html = askURL(url)        #保存获取到的网页源码
    #逐一解析数据
    return datalist

#得到指定一个指定url的网页内容
def askURL(url):
    head = {  # 模拟浏览器头部信息,向豆瓣服务器发送消息
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36"
    }
    # 用户代理,表示告诉豆瓣服务器,我们是什么类型的机器、浏览器(本质上是告诉浏览器,我们可以接收什么水平的文件内容)
    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






#保存数据
def saveData(savepath):
    print("save.....")







if __name__ == "__main__":
    main()# 当程序执行时

    # 函数调用

展开全部

  • 写回答

2条回答 默认 最新

  • Feng-licong 2021-09-12 08:56
    关注

    askURL的return被你注释掉了

    评论
    川朴老师 2021-09-12 10:38

    那个不注释也是一样的报错

    回复
  • 凯、238 2023-10-28 08:44
    关注

    知道怎么回事了吗?我也是类似情况!咋办啊?

    评论
    川朴老师 2023-10-29 12:09

    看看代码

    回复
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部