孑王 2021-08-16 14:15 采纳率: 40%
浏览 169
已结题

Python爬取拉勾网

用request请求时
(headers,动态cookies都添加了)
但是还是返回“ntaccess deny”,之前是返回“操作频繁”解决了,现在又返回“ntaccess deny”,求解决办法!

img

import time, requests, jieba, wordcloud, bs4
import re
import matplotlib.pyplot as plt
import csv
import pprint
import matplotlib
from random import *  # 引出库

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['font.family'] = 'sans-serif'  # 使图表中的方框转译成中文
dic = {}
lst = []
pn = []
lst_csv = []  # 创建所需字典和列表
path0 = r'D://招聘信息.csv'
path1 = r'D://lagou.csv'
x = eval(input("输入爬取的页数:"))



for i in range(1, x + 1):
    url_login = "https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput="
    url_crawler= "https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false"
    headers_1 = {
        'authority': 'www.lagou.com',
        'Accept': 'application/json, text/javascript, */*; q=0.01',
        'Referer': 'https://www.lagou.com/jobs/list_pyton?labelWords=&fromSearch=true&suginput=',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73'}
    data = {
        'first': 'true',
        'pn': str(i),
        'kd': 'python'}
    s = requests.Session()
    s.get(url_login, headers=headers_1, timeout=5)  # 请求首页获取cookies
    cookie = s.cookies  # 为此次获取的cookies
    print(cookie)
    time.sleep(randint(1, 5))
    try:
        datas = {'first': 'ture', 'pn': i, 'kd': 'python'}
        headers_2 = {
            'accept': 'application / json, text / javascript, * / *; q = 0.01',
            'Connection': 'close',
            'authority': 'www.lagou.com',
            'Origin': 'https://www.lagou.com',
            'Referer': 'https://www.lagou.com/jobs/list_python?city=%C3%A5%C2%85%C2%A8%C3%A5%C2%9B%C2%BD&cl=false&fromSearch=true&labelWords=&suginput=',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73'}
        r = s.post(url_crawler, data=datas, headers=headers_2, cookies=cookie)
        r.encoding = 'utf-8'
        pprint.pprint(r.json())
        with open(path0, 'a', encoding='gb18030') as file:
            file.write(r.text)
            timeout = 20
        print("第{}页采集完成。".format(i))
        time.sleep(randint(1, 5))
    except Exception as ex:
        print("第{}页采集出错,出错原因:{}".format(i, ex))  # 爬取数据



  • 写回答

2条回答 默认 最新

  • 忍气吞声埋头苦干 2021-08-16 14:19
    关注

    你代码沾出来被,还要我们自己写调试吗。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月24日
  • 已采纳回答 8月16日
  • 修改了问题 8月16日
  • 创建了问题 8月16日

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 MATLAB动图问题
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名