Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么以下代码行返回空数据集_Python_Python 3.x_Web Scraping_Beautifulsoup_Python Requests - Fatal编程技术网

Python 为什么以下代码行返回空数据集

Python 为什么以下代码行返回空数据集,python,python-3.x,web-scraping,beautifulsoup,python-requests,Python,Python 3.x,Web Scraping,Beautifulsoup,Python Requests,我希望从以下url中获取作业的详细信息:。我想得到一个数据框,显示职位名称、招聘组织、职位位置和职位摘要 import bs4 import pandas as pd import requests import re res=requests.get("https://www.indeed.com/q-doctor-l-Washington,-DC-jobs.html") soup=bs4.BeautifulSoup(res.text,'lxml') jobs=soup.

我希望从以下url中获取作业的详细信息:。我想得到一个数据框,显示职位名称、招聘组织、职位位置和职位摘要

import bs4
import pandas as pd
import requests
import re

res=requests.get("https://www.indeed.com/q-doctor-l-Washington,-DC-jobs.html")
soup=bs4.BeautifulSoup(res.text,'lxml')
jobs=soup.findAll(class_='jobsearch-SerpJobCard unifiedRow row result clickcard')
full_dict={'title':[],'organization':[],'location':[],'summary':[]}

for job in jobs:
    job_title=job.find('div',{'class':'title'})
    job_organization=job.find('div',{'class':'company'})
    job_location=job.find('div',{'class':'sjcl'})
    job_summary=job.find('div',{'class':'summary'})
    full_dict['title'].append(job_title)
    full_dict['organization'].append(job_organization)
    full_dict['location'].append(job_location)
    full_dict['summary'].append(job_summary)

df=pd.DataFrame(full_dict)
print(df)

我的代码中有什么错误?为什么它会返回空数据帧?

要调试这样的问题,最好检查您采取的不同步骤

当我执行上述代码时,行:

jobs=soup.findAll(class='jobsearch-SerpJobCard unifiview行结果clickcard')

生成一个空列表

你应该 a) 查看您收到的数据(res.text),
b) 查看您正在使用的findall子句,如果该子句适用于res.text

,可能有很多原因。你试过什么来调试它?例如,
soup.findAll
语句返回什么?“Jobs”是空的,不加载任何数据。完全不返回,但“并行列表”是一个非常糟糕的设计选择。对于你在这里所做的事情,最好使用一个目录列表,而不是一个目录列表。我怎样才能解决这个问题?