我不熟悉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"}))


尽管我有找到工作和公司的命令,但我找不到内容。我知道有一个内容命令,但是到目前为止我的变量都没有那个属性。谢谢!

最佳答案

首先,我用一项工作搜索所有元素的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 '----------'

关于python - 确实用 BeautifulSoup 刮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40518023/

10-12 23:51