老师,我这个是什么问题?

来源:4-10 案例实战:BeautifulSoup4解析鱼书网站数据

热爱编程学习

2021-09-13 14:32:38

ImportError: cannot import name 'BeautifulSoup' from partially initialized module 'bs4' (most likely due to a circular import) (D:\PyCharm\untitled\imooc\python_pachong\bs4.py)



import requests
from bs4 import BeautifulSoup


def handle_detail_bs4(content):
"""
   解析目标页面返回数据的
   :param content:response.text
   :return:
   """
   # 数据的实例化,传入要解析的数据,和解析器,解析器使用的是lxml
   soup = BeautifulSoup(content, "lxml")
# 获取所有的图书条目,使用find_all,查找div标签,通过class属性查找,class是一个关键字,class_
   all_book_items = soup.find_all("div", class_="row col-padding")
# 打印未格式化的数据,可以看到html标签的
   for item in all_book_items:
# print(item)
       # 获取图书信息,先查找上层的div,发现里面包含着三个spanfind_all来查找所有span
       info = item.find("div", class_="col-md-7 flex-vertical description-font").find_all("span")
# 获取作者,出版社,价格信息
       author_press_price = info[1].string.split("/")
if len(author_press_price) == 3:
print(
{
# 最终信息
                   "title": info[0].string,
"author": author_press_price[0],
"press": author_press_price[1],
"price": author_press_price[2],
"summary": info[2].string
}
)


def main():
header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36"
   }
for i in range(1, 5):
url = "http://yushu.talelin.com/book/search?q=python&page={}".format(i)
response = requests.get(url=url, headers=header)
handle_detail_bs4(response.text)


if __name__ == '__main__':
main()

D:\PyCharm\untitled\venv\Scripts\python.exe D:/PyCharm/untitled/imooc/python_pachong/bs4.py

Traceback (most recent call last):

  File "D:/PyCharm/untitled/imooc/python_pachong/bs4.py", line 5, in <module>

    from bs4 import BeautifulSoup

  File "D:\PyCharm\untitled\imooc\python_pachong\bs4.py", line 5, in <module>

    from bs4 import BeautifulSoup

ImportError: cannot import name 'BeautifulSoup' from partially initialized module 'bs4' (most likely due to a circular import) (D:\PyCharm\untitled\imooc\python_pachong\bs4.py)


https://img.mukewang.com/climg/613ef08109f2a44d09930519.jpg

写回答

1回答

时间,

2021-09-13

同学,你好!同学的py文件名与导包时的模块名相同,因此导包时报错了。修改下本地的py文件名即可

https://img.mukewang.com/climg/613ef48a09a5c18f07860155.jpg

祝学习愉快!

0

0 学习 · 4469 问题

查看课程