Python爬取网页信息并保存为CSV文件!又学了一招

本次爬取的网页是猎聘网内关于深圳的所有招聘信息 , 一共400多个职位 , 并保存为csv文件存储 , 好了 , 话不多说 , 开始进入讲解 。 (对爬虫感兴趣的 , 可以参考此篇文章的做法去爬你想要的网站去吧!!!)
首先打开目标网站:
页面信息如下(因为招聘信息是动态 , 可能你的界面的职位会有所不同)
Python爬取网页信息并保存为CSV文件!又学了一招文章插图
我们按F12进入开发者界面:
点击元素旁边的类似鼠标的按钮 , 如下:
Python爬取网页信息并保存为CSV文件!又学了一招文章插图
然后就可以在原网页点击我们想要获取的标签 , 之后就会显示该标签对应的html代码
比如点击工作名称:双语解说员 , 然后右边就会帮我们找到对应的源代码 。
Python爬取网页信息并保存为CSV文件!又学了一招文章插图
接着我们分析上下代码 , 发现该所有职位的代码都在

  • ..
  • 之间
    Python爬取网页信息并保存为CSV文件!又学了一招文章插图
    所有我们可以找到包含这些职位代码的上一个标签 , 即
    Python爬取网页信息并保存为CSV文件!又学了一招文章插图
    故代码可以写成 all_job = html.find("ul", class_="sojob-list").find_all("li")
    这样我们就定位到这个工作列表下 , 下面所有操作都是从这里面去查询 , 我们用一个循环遍历每个
  • 下的子标签
    用find方法可以让网页解析器一直查询 , 直到查到对应的标签下停止 , 这里我们可以定位到 下
    该标签下就是我们要爬取的东西
    Python爬取网页信息并保存为CSV文件!又学了一招文章插图
    爬取工作名实现:name = date.find("a", target="_blank").text.strip()
    再打开标签 , 爬取地区 , 薪水 , 对应的网站 , 学历
    Python爬取网页信息并保存为CSV文件!又学了一招文章插图
    因此
    爬取地区实现:area = date.find("a", class_="area").text
    爬取薪水实现:salary = date.find("span", class_="text-warning").text
    爬取网站实现:url = date.find("a", class_="area")["href"]
    爬取学历实现:edu = date.find("span", class_="edu").text
    最后我们再用一个循环去让网站的url发生变化 , 也就是网站最后面的数字就是该网页的页数 , 如下:
    Python爬取网页信息并保存为CSV文件!又学了一招文章插图
    最后再通过两行命令 , 将结果保存为csv文件即可
    爬取结束!!
    查看结果:
    Python爬取网页信息并保存为CSV文件!又学了一招文章插图
    附上完整代码:
    import requests
    import bs4
    import pandas as pd
    result = {"jobname": [], # 工作名
    "area": [], # 地区
    "salary": [], # 薪水
    "url": [], # 网址
    "edu":[] #学历
    }
    for i in range(11):
    url = ";dqs=050090 --tt-darkmode-color: #A1A4B0;"> print(url)
    r = requests.get(url)
    html = bs4.BeautifulSoup(r.text, "html.parser")
    all_job = html.find("ul", class_="sojob-list").find_all("li")
    for date in all_job:
    name = date.find("a", target="_blank").text.strip()
    area = date.find("a", class_="area").text
    salary = date.find("span", class_="text-warning").text
    url = date.find("a", class_="area")["href"]
    edu = date.find("span", class_="edu").text
    result["jobname"].append(name)
    result["area"].append(area)
    result["salary"].append(salary)
    result["url"].append(url)
    result["edu"].append(edu)
    df = pd.DataFrame(result)
    df.to_csv("shenzhen_Zhaopin.csv", encoding="utf_8_sig")
    PS:如遇到解决不了问题的小伙伴可以加点击下方链接自行获取
    【Python爬取网页信息并保存为CSV文件!又学了一招】python免费学习资料以及群交流解答点击即可加入