我正在尝试抓取 "https://dribbble.com/jobs" 上的公司名称
I am trying to scrape the names of the companies on "https://dribbble.com/jobs"
当我尝试以下代码时,它只会 returns 第一项。我是 python 的新手,非常感谢您的帮助。
import pandas as pd
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome('/Users/user/Downloads/chromedriver_win32/chromedriver')
driver.get('https://dribbble.com/jobs')
assert 'Dribbble' in driver.title
columns = ['company']
count = 0
jobs = pd.DataFrame(columns=columns)
for item in range(10):
company_elem = "job-board-job-title"
company = driver.find_element_by_class_name(company_elem).text
item+=1
jobs.loc[item] = [company]
driver.close()
import pandas as pd
from selenium import webdriver
# from time import sleep
driver = webdriver.Chrome(r'E:\data\python\pycharm\chromedriver_win32\chromedriver.exe')
driver.get('https://dribbble.com/jobs')
assert 'Dribbble' in driver.title
columns = ['company']
count = 0
jobs = pd.DataFrame(columns=columns)
# for item in range(10):
# company_elem = "job-board-job-title"
companies = driver.find_elements_by_class_name("job-board-job-title")
for i in companies:
print(i.text)
# count += 1
# jobs.loc[count] = [company]
# print(jobs)
driver.close()
现在对您的代码进行了一些更改,您需要在使用查找元素的地方获取所有元素而不是 1 个元素,请使用查找元素。 https://selenium-python.readthedocs.io/locating-elements.html#locating-elements-by-class-name
您只能更改一行,所以
company = driver.find_element_by_class_name(company_elem).text
尝试
company = driver.find_elements_by_class_name(company_elem)[item].text
输出将是:
company
1 UI Designer / Animator / Illustrator
2 Senior Product Designer
3 Freelance Senior Graphic Designer
4 Senior Product Designer, Internal Tools
5 Sr. Product Designer
6 User Researcher
7 Product Designer
8 Design Director
9 Product Designer
10 Supply Chain Account Manager - 200163935
当我尝试以下代码时,它只会 returns 第一项。我是 python 的新手,非常感谢您的帮助。
import pandas as pd
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome('/Users/user/Downloads/chromedriver_win32/chromedriver')
driver.get('https://dribbble.com/jobs')
assert 'Dribbble' in driver.title
columns = ['company']
count = 0
jobs = pd.DataFrame(columns=columns)
for item in range(10):
company_elem = "job-board-job-title"
company = driver.find_element_by_class_name(company_elem).text
item+=1
jobs.loc[item] = [company]
driver.close()
import pandas as pd
from selenium import webdriver
# from time import sleep
driver = webdriver.Chrome(r'E:\data\python\pycharm\chromedriver_win32\chromedriver.exe')
driver.get('https://dribbble.com/jobs')
assert 'Dribbble' in driver.title
columns = ['company']
count = 0
jobs = pd.DataFrame(columns=columns)
# for item in range(10):
# company_elem = "job-board-job-title"
companies = driver.find_elements_by_class_name("job-board-job-title")
for i in companies:
print(i.text)
# count += 1
# jobs.loc[count] = [company]
# print(jobs)
driver.close()
现在对您的代码进行了一些更改,您需要在使用查找元素的地方获取所有元素而不是 1 个元素,请使用查找元素。 https://selenium-python.readthedocs.io/locating-elements.html#locating-elements-by-class-name
您只能更改一行,所以
company = driver.find_element_by_class_name(company_elem).text
尝试
company = driver.find_elements_by_class_name(company_elem)[item].text
输出将是:
company
1 UI Designer / Animator / Illustrator
2 Senior Product Designer
3 Freelance Senior Graphic Designer
4 Senior Product Designer, Internal Tools
5 Sr. Product Designer
6 User Researcher
7 Product Designer
8 Design Director
9 Product Designer
10 Supply Chain Account Manager - 200163935