我不熟悉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/