On 12/14/14 11:15 AM, Simon Evans wrote:
Dear Python programmers, Having input the line of code in text: cd Soup to the Windows console, and having put the file 'EcologicalPyramid.html' into the Directory 'Soup', on the C drive, in accordance with instructions I input the following code to the Python console, as given on page 30 of 'Getting Started with Beautiful Soup': ---------------------------------------------------------------------------- Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win 32 Type "help", "copyright", "credits" or "license" for more information.from bs4 import BeautifulSoup with open("ecologicalpyramid.html","r") as ecological_pyramid:... soup = BeautifulSoup(ecological_pyramid,"lxml") ... producer_entries = soup.find("ul")^ SyntaxError: invalid syntax
This SyntaxError is indicating that none of the code you have just typed was run. The reason it's a syntax error is because the interactive prompt is a bit simplistic about how to handle multiple statements. It wants a blank line after the with-clause.
Because none of these lines were run, you never opened your HTML file, never parsed it, and never assigned to the name "soup".
producer_entries = soup.find("ul")Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'soup' is not defined^ ---------------------------------------------------------------------------- so I cannot proceed with the next line withh would 've been : ---------------------------------------------------------------------------- print(producer_entries.li.div.string) ---------------------------------------------------------------------------- which would've given (according to the book) the output: --------------------------------------------------------------------------- plants Maybe that is getting a bit far ahead, but I can't quite see where I have gone wrong - 'soup' has been defined as an object made of file 'EcologicalPyramid.html I hope you can help me on this point.
For complex code experiments, it's better to put the code in a file, and run the file. But if you do want to use the interactive interpreter, enter code carefully, and watch out for the error messages.
-- Ned Batchelder, http://nedbatchelder.com -- https://mail.python.org/mailman/listinfo/python-list
