I have a code as below.
I run this code using python 3.7
idle, which runs successfully. But when I save it as file.py
and run it from using cmd, it pops import module
error.
My code:
import requests from lxml import html headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3'} # url to scrape data from link = 'https://www.bhaskar.com/sports/' # path to particular element path = '//*[@id="top-nav1"]' response = requests.get(link,headers) byte_string = response.content # get filtered source code source_code = html.fromstring(byte_string) print(source_code) # jump to preferred html element tree = source_code.xpath(path) print(tree.text_content())
Error : cannot import name ‘html’ from ‘lxml’
I can not understand when both are running on the same python files why such Error pop!!!
Advertisement
Answer
You’re confusing Python’s import machinery by having named your script lxml.py
, the same name as the lxml
package you’re importing.
Rename it to, say lxml_test_thing.py
and it’ll work.