def getLineData(self): self.getRequest() title = self.soup.title.text line = Line() if title == "Wykaz linii": return None stationFromToList = self.soup.title.text.replace("Linia ", "") if isinstance(stationFromToList, list): cityFrom = self.soup.title.text.replace("Linia ", "").split("–")[0] if cityFrom[-1] == " ": cityFrom = cityFrom[:-1] line.stationFrom = cityFrom cityTo = self.soup.title.text.replace("Linia ", "").split("–")[1] for sign in ["(", ")"]: if sign in cityTo: cityTo = cityTo.replace(sign, "") if cityTo[0] == " ": cityTo = cityTo[1:] if cityTo[-1] == " ": cityTo = cityTo[:-1] line.stationTo = cityTo ret = re.search("\(([^)]*)\)[^(]*$", title) if ret is not None: try: number = int(ret.group(1)) except ValueError: if "/" in ret.group(1): number = int(ret.group(1).split("/")[0]) else: number = None line.number = number line.bazaCode = self.bazaCode for trElem in self.soup.find_all("table")[0].find_all("tr"): try: tdList = trElem.find_all("td") stationData = (tdList[1].a.text, tdList[2].input["value"], tdList[0].span["title"]) line.stationList.append(stationData) except: pass return line