Why when i run my program display this error message 'NoneType' object has no attribute 'find'     from bs4 import BeautifulSoup as soup import validators import requests def main():     url = ''     while validators.url(url) != True:         url = input("Enter valid URL: ")     url = 'https://blog.python.org/'     filename = url[7:15]+'.txt'     try:         print("Downloading text from:", url)         print("Saving text to:", filename)         imported_webpage = getWebPage(url)         while True:             choice = input("Do you want to view raw Html? (y/n): ")             if choice[0].lower() == 'y':                 print("### Raw HTML ###")                 print(imported_webpage)                 print("### End of Raw HTML ###")                 break             elif choice[0].lower() == 'n':                 break             else:                 print("Invalid Input. Enter valid Input.")         poem = extractPoem(imported_webpage)         exportFile(poem, filename)         print("Page Saved. Re-importing file")         poem_content = importFile(filename)         print("Displaying File content:")         print(poem_content)     except Exception as e:         print(e) def getWebPage(url):     page_html = requests.get(url)     page_soup = soup(page_html.text, "html.parser")     return page_soup def extractPoem(page_soup):     found = page_soup.find("div", {"class": "python"})     # poem = "\n".join(line.strip() for line in found.python.text.split("\n"))     poem = "\n".join(line.strip() for line in found.find('python').text.split("\n"))     #poem = "\n".join(line.strip() for line in found.find('python').text.split("\n"))     return poem def exportFile(content, filename):     with open(filename, 'w') as f:         f.write(content) def importFile(filename):     with open(filename, 'r') as f:         content = f.read()     return content if __name__ == "__main__":     main()

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Why when i run my program display this error message

'NoneType' object has no attribute 'find'

 

 

from bs4 import BeautifulSoup as soup
import validators
import requests


def main():
    url = ''
    while validators.url(url) != True:
        url = input("Enter valid URL: ")
    url = 'https://blog.python.org/'
    filename = url[7:15]+'.txt'

    try:
        print("Downloading text from:", url)
        print("Saving text to:", filename)
        imported_webpage = getWebPage(url)
        while True:
            choice = input("Do you want to view raw Html? (y/n): ")
            if choice[0].lower() == 'y':
                print("### Raw HTML ###")
                print(imported_webpage)
                print("### End of Raw HTML ###")
                break
            elif choice[0].lower() == 'n':
                break
            else:
                print("Invalid Input. Enter valid Input.")
        poem = extractPoem(imported_webpage)
        exportFile(poem, filename)
        print("Page Saved. Re-importing file")
        poem_content = importFile(filename)
        print("Displaying File content:")
        print(poem_content)
    except Exception as e:
        print(e)


def getWebPage(url):
    page_html = requests.get(url)
    page_soup = soup(page_html.text, "html.parser")
    return page_soup


def extractPoem(page_soup):
    found = page_soup.find("div", {"class": "python"})
    # poem = "\n".join(line.strip() for line in found.python.text.split("\n"))
    poem = "\n".join(line.strip() for line in found.find('python').text.split("\n"))
    #poem = "\n".join(line.strip() for line in found.find('python').text.split("\n"))
    return poem


def exportFile(content, filename):
    with open(filename, 'w') as f:
        f.write(content)


def importFile(filename):
    with open(filename, 'r') as f:
        content = f.read()
    return content


if __name__ == "__main__":
    main()

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question

i see, 

is there any way to fix it? 

Solution
Bartleby Expert
SEE SOLUTION
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY