2016-11-10 3 views
0

Я не знаком с html и веб-соскабливанием с красивым супом. Я пытаюсь получить названия вакансий, зарплаты, местоположение и название компании из разных действительно вакансий. Это мой код до сих пор:Скребок Действительно с красивым супом

URL = "http://www.indeed.com/jobs?q=data+scientist+%2420%2C000&l=New+York&start=10" 
import urllib2 
import bs4 
from bs4 import BeautifulSoup 
soup = BeautifulSoup(urllib2.urlopen(URL).read()) 
resultcol = soup.find_all(id = 'resultsCol') 
company = soup.findAll('span', attrs={"class":"company"}) 
jobs = (soup.find_all({'class': " row result"})) 

хотя у меня есть команды, чтобы найти работу и компанию, я не могу получить содержимое. Я знаю, что есть команда содержимого, но ни одна из моих переменных до сих пор не имеет этого атрибута. Благодаря!

ответ

1

Сначала я Seach div с одной работой всех элементов, а затем я искать элементы внутри этой div

import urllib2 
from bs4 import BeautifulSoup 

URL = "http://www.indeed.com/jobs?q=data+scientist+%2420%2C000&l=New+York&start=10" 

soup = BeautifulSoup(urllib2.urlopen(URL).read(), 'html.parser') 

results = soup.find_all('div', attrs={'data-tn-component': 'organicJob'}) 

for x in results: 
    company = x.find('span', attrs={"itemprop":"name"}) 
    print 'company:', company.text.strip() 

    job = x.find('a', attrs={'data-tn-element': "jobTitle"}) 
    print 'job:', job.text.strip() 

    salary = x.find('nobr') 
    if salary: 
     print 'salary:', salary.text.strip() 

    print '----------' 
+0

Спасибо! Любая идея, как очистить зарплаты? Вот как это вложенная: ' <класс тд = "чик"> $ 88305 - $ 146570 в год ' – squidvision

+1

'x.find ('NOBR')' – furas

+0

Пробовал, не работает. – squidvision

Смежные вопросы