我对Python和Web抓取非常陌生,所以如果您能改进我的代码并用改进的版本回复我,我将不胜感激
我正在从Google(web scraping-selenium)中抓取工作公告,并将其导出到电子表格中。 我想找两份工作:1。软件工程师,2。软件开发人员
我不想登录搜索“软件工程师工作”,然后再次登录搜索“软件开发人员工作”。我想调用这个login_indeed()
函数一次,然后在每次创建类的新实例时调用所有其他函数,如search_jobs()
class IndeedJobScraper:
def __init__(position, location):
self.position = position
self.location = location
def login_indeed(self): # I WANT TO CALL THIS ONCE
# input username and password
def search_jobs(self)
# input job title and location into search boxes
def retrieve_jobs(self)
self.login()
self.search_jobs()
if __name__ == '__main__':
obj1 = IndeedJobScraper('Software Engineer', 'Ireland')
obj1.retrieve_jobs()
obj2 = IndeedJobScraper('Software Developer', 'Ireland')
obj2.retrieve_jobs()
目前:
创建obj1
时:
-确实登录到
-寻找软件工程师职位
When `obj1` created:
- Login to Indeed
- Search for Software Engineer Jobs
我想:
创建obj1
时:
-确实登录到
-寻找软件工程师职位
When `obj2` created:
- ̶L̶o̶g̶i̶n̶ ̶t̶o̶ ̶I̶n̶d̶e̶e̶d̶
- Search for Software Engineer Jobs
所以。。。I“登录”(1x)和“搜索工作”(2x)
谢谢
在构造函数中进行一次授权,创建一次对象,然后在需要时调用搜索方法。例如,我会这样写:
根据@Carcigenicate的评论,您要做的是在
__init__
中有一个初始化为self.logged_in = False
的属性。然后我会在login_indeed()
函数中设置一个条件来检查logged_in == True
,如果logged_in
为False,则登录并更新属性。否则,如果它已登录,则继续执行该函数的其余部分相关问题 更多 >
编程相关推荐