python爬虫获取html中的数据并写入Excel
自娱自乐,不喜轻喷。。。
# 爬取职友集的数据
import time
import openpyxl
import requests
from bs4 import BeautifulSoup # 用于解析和提取html数据的库
lst = []
def send_request(id, page):
url = 'https://www.jobui.com/company/{0}/jobs/p{1}/'.format(id, page)
headers = {'User-Agent': '***********',
'Cookie':'*****************'}
resp = requests.get(url, headers=headers)
return resp.text
def parse_html(html): # html代表从服务器端响应回来的数据
bs = BeautifulSoup(html,'html.parser') # 得到beautifulsoup的对象
job_lst = bs.find_all('div',class_='c-job-list') # 得到所有包含职位的div
for item in job_lst: # 分别遍历每一个职位的数据
name = item.find('h3').text # 职位的名称
city = item.find('div',class_='job-desc') # class是关键字,必须加下划线
span_tag = city.find_all('span') # 获取职位的所在地和基本要求
url = item.find('a',class_='job-name')['href'] # 提取class样式为job-name的a的标签,获取属性为href的值
lst.append([name, span_tag[0].text, span_tag[1].text, 'https://www.jobui.com'+url]) # span_tag第一个是职位所在地,第二个为任职要求
return lst
def save(lst):
wk = openpyxl.Workbook()
sheet = wk.active
for item in lst:
sheet.append(item)
wk.save('招聘信息.xls')
# 启动爬虫程序
def start(id, pages):
for page in range(1, pages+1):
resp_data = send_request(id, page) # 发送请求
parse_html(resp_data)
time.sleep(2)
save(lst)
if __name__ == '__main__':
id = '10375749'
pages = 3
start(id, pages)
结果展示:

Look, if you had one shot, one opportunity To seize everything you ever wanted,one moment ,Would you capture it or just let it slip?

浙公网安备 33010602011771号