html.fromstring()在VS2017中显示“找不到模块”

时间:2019-01-20 18:29:39

标签: python python-3.x lxml

我们正在与我的朋友一起在学校项目中使用python。 我们的工作是从流行的汽车销售网站(http://otomoto.pl)进行一些网页抓取,并生成有关此主题的一些图表。 我正在使用VS 2017,而朋友正在使用VS Code。 我们都有通过github共享的相同代码,如下所示:

import requests
from lxml import html
from Models.Car import *

class DataPicker():

    url = 'https://www.otomoto.pl/osobowe/?page='
    htmlElement = ""
    pageQuantity = 40
    articlesPerSite = 32

    def main(self):
            for pageNumber in range(1, self.pageQuantity):
                    self.setHtmlElementByPage(pageNumber)
                    for article in range(1, self.articlesPerSite):
                            model = self.getModel(article)
                            year = self.getYear(article)
                            mileage =self.getMileage(article)
                            price = self.getPrice(article)
                            singleCarModel = Car(model, year, mileage, price)
                            print(self.showCarProperties(singleCarModel))

    def getModel(self, articleNumber):
            model = self.htmlElement.xpath("/html/body/div[4]/div[2]/section/div[2]/div[1]/div/div[1]/div[5]/article[" + str(articleNumber) + "]/div[2]/div[1]/h2/a/text()")
            return model[0]

    def getYear(self, articleNumber):
            year = self.htmlElement.xpath("/html/body/div[4]/div[2]/section/div[2]/div[1]/div/div[1]/div[5]/article[" + str(articleNumber) + "]/div[2]/ul/li[1]/span/text()")
            return year[0]

    def getMileage(self, articleNumber):
            mileage = self.htmlElement.xpath("/html/body/div[4]/div[2]/section/div[2]/div[1]/div/div[1]/div[5]/article[" + str(articleNumber) + "]/div[2]/ul/li[2]/span/text()")
            return mileage[0]

    def getPrice(self, articleNumber):
            price = self.htmlElement.xpath("/html/body/div[4]/div[2]/section/div[2]/div[1]/div/div[1]/div[5]/article[" + str(articleNumber) + "]/div[2]/div[2]/div/span[1]/text()")
            return price[0]

    def setHtmlElementByPage(self, pageNumber):
            currentUrl = self.url + str(pageNumber)
            page = requests.get(currentUrl)
            self.htmlElement = html.fromstring(page.content)

    def showCarProperties(self, singleCarModel):
            return "Model : " + str(singleCarModel.model) + "\nYear : " + str(singleCarModel.year) + "\nMileage : " + str(singleCarModel.mileage) + "\nPrice : " + str(singleCarModel.price) + "\n\n"

if __name__ == '__main__':
DataPicker().main()

虽然在朋友的VSC下一切正常,但我不断收到错误消息: 从lxml导入html-DLL加载失败:找不到模块

我尝试通过pip再次卸载和安装lxml,但是没有任何变化。 我在这里做错什么了吗,还是我丢失了一些文件?

错误日志:

  

消息= DLL加载失败:Niemożnaodnaleźćokreślonegomodułu。     来源=     Śladstosu:     _call_with_frames_removed中的文件“ C:\ users \ crush \ source \ repos \ karmele-on \ pythonproject.vs \ karmele-on \ pythonproject \ ”     第728行的文件“ C:\ users \ crush \ source \ repos \ karmele-on \ pythonproject.vs \ karmele-on \ pythonproject \ <冻结的importlib._bootstrap_external>”     文件“ C:\ users \ crush \ source \ repos \ karmele-on \ pythonproject.vs \ karmele-on \ pythonproject \ ”,第677行,处于_load_unlocked状态     文件“ C:\ users \ crush \ source \ repos \ karmele-on \ pythonproject.vs \ karmele-on \ pythonproject \ ”,行967,位于_find_and_load_unlocked中     文件“ C:\ users \ crush \ source \ repos \ karmele-on \ pythonproject.vs \ karmele-on \ pythonproject \ <冻结importlib._bootstrap>”,第983行,位于_find_and_load中     _call_with_frames_removed中的文件“ C:\ users \ crush \ source \ repos \ karmele-on \ pythonproject.vs \ karmele-on \ pythonproject \ ”     _handle_fromlist中的文件“ C:\ users \ crush \ source \ repos \ karmele-on \ pythonproject.vs \ karmele-on \ pythonproject \ ”     文件“ C:\ Users \ crush \ source \ repos \ karmele-on \ PythonProject.vs \ karmele-on \ PythonProject \ DataPicker.py”,第3行,在       从lxml导入html

0 个答案:

没有答案