python使用bs4爬取boss直聘静态页面

时间:2021-05-22

思路:

  1、将需要查询城市列表,通过城市接口转换成相应的code码

  2、遍历城市、职位生成url

  3、通过url获取列表页面信息,遍历列表页面信息

  4、再根据列表页面信息的job_link获取详情页面信息,将需要的信息以字典data的形式存在列表datas里  

  5、判断列表页面是否有下一页,重复步骤3、4;同时将列表datas一直传递下去

  6、一个城市、职位url爬取完后,将列表datas接在列表datas_list后面,重复3、4、5

  7、最后将列表datas_list的数据,遍历写在Excel里面

知识点:

  1、将response内容以json形式输出,解析json并取值

  2、soup 的select()和find_all()和find()方法使用

  3、异常Exception的使用

  4、wldt创建编辑Excel的使用

import requests, time, xlwtfrom bs4 import BeautifulSoupclass MyJob(): def __init__(self, mycity, myquery): self.city = mycity self.query = myquery self.list_url = "https://pany"]) table.write(i, 7, data["job_publis_link"]) table.write(i, 8, data["job_publis"]) table.write(i, 10, data["detail_content_name"]) table.write(i, 11, data["detail_primary_name"]) table.write(i, 12, data["detail_primary_status"]) table.write(i, 13, data["detail_primary_salary"]) table.write(i, 14, data["detail_primary_address"]) table.write(i, 15, data["detail_content_text"]) table.write(i, 16, data["detail_op_name"]) table.write(i, 17, data["detail_op_job"]) table.write(i, 18, data["detail_op_status"]) table.write(i, 19, data["detail_primary_tags"]) table.write(i, 20, data["detail_content_address"]) i += 1 book.save(r'C:\%s_boss软件测试.xls' % time.strftime('%Y%m%d%H%M%S')) print("Excel保存成功")if __name__ == '__main__': city_list = MyJob("","").get_city(["杭州"]) query_list = ["软件测试", "测试工程师"] datas_list = [] for city in city_list: for query in query_list: myjob = MyJob(city, query) datas = myjob.get_job_list(myjob.list_url, myjob.datas) datas_list.extend(datas) myjob.setExcel(datas_list)

以上就是python使用bs4爬取boss直聘静态页面的详细内容,更多关于python 爬取boss直聘的资料请关注其它相关文章!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章