Serene Jiang 2022-01-13 04:52 采纳率: 0%
浏览 46

Python中遇到爬虫问题,没有返回相应的数值

问题遇到的现象和发生背景

我想把indeed上面员工关于对公司的评价爬取下来,整体的评价(reviews)可以爬取,但是具体的优点和缺点(pros and cons)只返回了NA。
下面是关于我想爬取Indeed上面airbnb的评价的代码。

问题相关代码
from bs4 import BeautifulSoup
import pandas as pd
import requests

import numpy as np
lst=[]
for i in range(0, 240, 20):
    print(i)
    url = (f'https://www.indeed.com/cmp/Airbnb/reviews?start={i}')
    header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"}
    page = requests.get(url, headers = header)
    soup = BeautifulSoup(page.content, 'lxml')
    main_data = soup.find_all("div",attrs={"data-tn-section":"reviews"})
    for data in main_data:
        
        try:
            title=data.find("h2").get_text(strip=True)
        except AttributeError:
            title=np.nan
            
        try:
            location=data.find("span",attrs={"itemprop":"author"}).get_text(strip=True).split("-")[1]
        except AttributeError:
            location=np.nan
            
        try:
            status=data.find("span",attrs={"itemprop":"author"}).get_text(strip=True).split("-")[0]
        except AttributeError:
            status=np.nan
            
    
        try:
            review=data.find("span",attrs={"itemprop":"reviewBody"}).get_text(strip=True)
        except AttributeError:
            review=np.nan
            
        try:
            pros=data.find('div',class_='cmp-review-pro-text')           
        except:
            pros=np.nan
        try:
            cons=data.find('div',class_='cmp-review-con-text')
        except:
            cons=np.nan
            
        try:
            rating=data.find("div",attrs={"itemprop":"reviewRating"}).find("button")['aria-label'].split(" ")[0]
        except AttributeError:
            rating=np.nan
            
        lst.append([title,location,status,pros,cons,review,rating])

import pandas as pd
df_airbnb=pd.DataFrame(data=lst,columns=['title','location','status','pros','cons','review','rating'])
df_airbnb
运行结果及报错内容

img

试了很久,不管怎么修改代码,pros和cons返回的始终是NA,麻烦大家看一下,谢谢啦

  • 写回答

2条回答 默认 最新

  • E-pal 2022-01-13 17:56
    关注

    排查下获取到的页面,有没有这两个。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月13日

悬赏问题

  • ¥15 找一个QT页面+目标识别(行人检测)的开源项目
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
  • ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
  • ¥15 LLM accuracy检测
  • ¥15 pycharm添加远程解释器报错
  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口