【问题标题】:TypeError: find() takes no argument inputsTypeError: find() 没有参数输入
【发布时间】:2020-08-25 00:46:27
【问题描述】:

这里是 Python 新手程序员!

我正在尝试使用 python 3.8.5 运行以下代码,但标题中不断出现错误。

免责声明:该代码不是我的原始代码,而是来自 2017 年发布的 YouTube 视频。我将在此处包含其链接以供参考:https://www.youtube.com/watch?v=ng2o98k983k

import requests
import urllib
import getpass

source = requests.get('http://coreyms.com').text

soup = BeautifulSoup(source, 'lxml')

article = soup.find('article').prettify()

# print(article)

# summary = article.find('div', class_='entry-content').p.text
# print(summary)

vid_src = article.find('iframe', class_= 'youtube-player')['src']
print(vid_src)

我已经玩了几天了,更改了我的 python 版本并通过我的终端下载了其他文件,但我仍然很困惑。

感谢任何/所有帮助!非常感谢。

【问题讨论】:

  • 在询问有关异常的问题时显示带有回溯的完整错误和发生错误的行。

标签: python python-3.x web-scraping beautifulsoup python-requests


【解决方案1】:

在您的代码中删除对.prettify() 的调用。

如果你调用这个函数,它会返回一个“漂亮的字符串”并且你会丢失你的 BeautifulSoup 对象。

import requests
import urllib
import getpass

source = requests.get('http://coreyms.com').text

soup = BeautifulSoup(source, 'lxml')

article = soup.find('article')

# print(article)

# summary = article.find('div', class_='entry-content').p.text
# print(summary)

vid_src = article.find('iframe', class_= 'youtube-player')['src']
print(vid_src)

输出

https://www.youtube.com/embed/z0gguhEmWiY?version=3&rel=1&fs=1&autohide=2&showsearch=0&showinfo=1&iv_load_policy=1&wmode=transparent

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多