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)


结果展示:

 

 








posted @ 2020-05-26 20:17  风中追风~~~  阅读(436)  评论(0)    收藏  举报