我们正在与我的朋友一起在学校项目中使用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