我试图从用作 urllib 请求参数的链接获取 JSON 响应。但它给了我一个错误,它不能包含控制字符。
我该如何解决这个问题?
start_url = "https://devbusiness.un.org/solr-sitesearch-output/10//0/ds_field_last_updated/desc?bundle_fq =procurement_notice&sm_vid_Institutions_fq=&sm_vid_Procurement_Type_fq=&sm_vid_Countries_fq=&sm_vid_Sectors_fq= &sm_vid_Languages_fq=English&sm_vid_Notice_Type_fq=&deadline_multifield_fq=&ts_field_project_name_fq=&label_fq=&sm_field_db_ref_no__fq=&sm_field_loan_no__fq=&dm_field_deadlineFrom_fq=&dm_field_deadlineTo_fq =&ds_field_future_posting_dateFrom_fq=&ds_field_future_posting_dateTo_fq=&bm_field_individual_consulting_fq="
source = urllib.request.urlopen(start_url).read()
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
URL can't contain control characters. '/solr-sitesearch-output/10//0/ds_field_last_updated/desc?bundle_fq =procurement_notice&sm_vid_Institutions_fq=&sm_vid_Procurement_Type_fq=&sm_vid_Countries_fq=&sm_vid_Sectors_fq= &sm_vid_Languages_fq=English&sm_vid_Notice_Type_fq=&deadline_multifield_fq=&ts_field_project_name_fq=&label_fq=&sm_field_db_ref_no__fq=&sm_field_loan_no__fq=&dm_field_deadlineFrom_fq=&dm_field_deadlineTo_fq =&ds_field_future_posting_dateFrom_fq=&ds_field_future_posting_dateTo_fq=&bm_field_individual_consulting_fq=' (found at least ' ')
Run Code Online (Sandbox Code Playgroud) 我想转换22-Jul-2020 14:00 (GMT 4.30) 为22 7 2020以便将其插入到我的数据库中。
非常感谢您的帮助。
我有一些文本,其中可能包含也可能不包含国家/地区名称。例如:
' 尼日利亚:Hotspot Network LTD 农村电话可行性研究'
这就是我从中提取国名的方式。在我的第一次尝试中:
findcountry("Nigeria: Hotspot Network LTD Rural Telephony Feasibility Study")
def findCountry(stringText):
for country in pycountry.countries:
if country.name.lower() in stringText.lower():
return country.name
return None
Run Code Online (Sandbox Code Playgroud)
不幸的是,它给了我错误的输出,[Niger]而正确的输出是尼日利亚。注意尼日尔和尼日利亚是世界上两个不同的现有国家。
在第二次尝试中:
def findCountry(stringText):
full_list =[]
for country in pycountry.countries:
if country.name.lower() in stringText.lower():
full_list.append(country)
if len(full_list) > 0:
return full_list
return None
Run Code Online (Sandbox Code Playgroud)
我得到['Niger', 'Nigeria']作为输出。但我找不到让尼日利亚作为我最终输出的方法。如何实现这一目标。
注意:这里我知道尼日利亚是正确的答案,但稍后我会将其放入代码中以选择文本中存在的最终国家名称,并且它应该具有非常高的检测准确度。
我正在尝试使用 django Rest-framework 构建一个 API。我可以使用它的 post 方法,但是当我尝试使用 get 方法时,出现以下错误
{
"error": [
"Expected a list of items but got type \"QuerySet\"."
]
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码。
class FileUploadView(APIView):
parser_class = (FileUploadParser,)
serializer_class = FileSerializer
def post(self, request, *args, **kwargs):
file_serializer = self.serializer_class(data=request.data)
if file_serializer.is_valid():
file_serializer.save()
return Response(file_serializer.data, status=status.HTTP_201_CREATED)
else:
return Response(file_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get(self , request , *args , **kwargs):
print("aaaa")
query = org_details.objects.all()
serializer = self.serializer_class(data=query, many=True)
serializer.is_valid(raise_exception=True)
return Response(serializer.data, status=status.HTTP_200_OK)
class FileSerializer(serializers.ModelSerializer):
class Meta:
model = org_details
fields = "__all__" …Run Code Online (Sandbox Code Playgroud)