#目标url:https://search.51job.com/list/040000,000000,0000,00,0,99,python,2,1.html?lang=c&stype=1&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1&ord_field=1&confirmdate=9&fromType=5&dibiaoid=0&address=&line=&specialarea=00&from=&welfare=
import requests
from bs4 import BeautifulSoup
url = 'https://search.51job.com/list/040000,000000,0000,00,0,99,python,2,1.html?lang=c&stype=1&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1&ord_field=1&confirmdate=9&fromType=5&dibiaoid=0&address=&line=&specialarea=00&from=&welfare='
urls = requests.get(url)
urls.encoding = urls.apparent_encoding
text = urls.text
soup = BeautifulSoup(text, 'html.parser')
#print(soup.prettify())
'''
#公司名
for i in soup.find_all('span', class_="t2"):
print(i.get_text())
'''
a = soup.find_all('span', class_="t2")
aa = [i.get_text() for i in a]
#print(aa)
'''
#职位名称
for i in soup.find('span', class_="t1"):
print(i)
for y in soup.select('p span a'):
print(y.string.strip())
'''
sq = []
s = soup.find('span', class_="t1").string
sq.append(s)
q = soup.select('p span a')
qq = [i.get_text().strip() for i in q]
for i in qq:
sq.append(i)
'''
#工作地点
for i in soup.find_all('span', class_="t3"):
print(i.get_text())
'''
w = soup.find_all('span', class_="t3")
ww = [i.get_text() for i in w]
'''
#薪资
for i in soup.find_all('span', class_="t4"):
print(i.get_text())
'''
e = soup.find_all('span', class_="t4")
ee = [i.get_text() for i in e]
for [sqs, aas, wws, ees] in zip(sq,aa,ww,ee):
print('{:45}\t{:35}\t{:20}\t{:10}'.format(sqs,aas,wws,ees))
运行效果:有点小缺点就是排列不整齐,下次再改进改进,加油!