Python抓取求职网站信息代码及解析

这篇博客介绍了如何使用Python抓取拉勾网的职位信息,包括目标网站的选择、xhr请求分析、页码数据获取方式以及如何处理反爬虫策略。博主分享了获取Cookies的方法,并提供了基础的爬虫代码框架,建议对数据进行进一步的图表化处理,如使用Tableau。文章呼吁在校学生重视实习和比赛以提升技能。
摘要由CSDN通过智能技术生成

python抓取网站职位信息代码及解析
第一次写一篇博客,博主用的是 Anaconda里的spyder
IDE工具
抓取数据的目标网站是拉勾网https://www.lagou.com/,首先输入自己想找的工作内容,按F12打开对应开发人员工具F5刷新下界面,点击对应的xhr和js看相关传输数据(ajax看xhr,ajax界面无需重新加载整个网页的情况下,能够更新部分网页的技术,数据传输会减少,所以用的还是多的,呜呜呜以前还写过工作后都用不到了),可以看到下图的positionAjax.json
里面的数据就是我们想要的薪资以及对应公司的信息,复制该json文件链接地址
https://www.lagou.com/jobs/positionAjax.json?city=%E6%B7%B1%E5%9C%B3&needAddtionalResult=false后续我们从这里爬取对应数据
网页元素
我们继续下拉这个js数据,看看他如何进行对应页码的数据获取,可以看到FORM_DATA 这个数据有我们要的相关信息(手动输入在搜索栏里的 kd:数据分析 页码对应Pn:1 first:true),我们接着进行验证可以点击第二页继续查看,发现对应只是Pn+1,因此可以写出对应的代码
FORM_DATA

    headers = {
   
            'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36',# 自己百度下什么型号用着爽用什么型号
            'Host':'www.lagou.com',# 首页名
            'Referer':'https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90'
            }   # 请求头,URL中设置了城市名
    form_data = {
   'first':'true','pn':num,'kd':'数据分析'}  # 网页From Data参数

因为现在的网页都会写一些反爬虫功能(我print(r.json())后发现控制台弹出网页请求繁忙,以前写JAVA都练习过Cookies吧,emmmm没cookies访问太多次被拉黑了呗),所以大多都是要写cookies的,不同网页自己定义的Cookies不同,因此我们需要获取网站的Cookies,获取Cookies

    cookie_url = "https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90"
    session = requests.Session()
    session.get(url=cookie_url, headers=headers)
    cookies_new=session.cookies#获取网站cookies

把单页js进行解析,(网上百度下Js在线解析复制js内容进去),可以在获取json的地方改下代码即可(print直接控制台显示复制不方便,直接txt保存到本地了)

import requests
import math
import pandas as pd
import time
import json
def get_json(url, num):  # 获取JSON,获取第几页数据
    headers = {
   
            'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36',
            'Host':'www.lagou.com',
            'Referer':'https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90'
            }   # 请求头,URL中设置了城市名
    form_data = {
   'first':'true','pn':num,'kd':'数据分析'}  # 网页From Data参数
    cookie_url = 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值