Может только конкатенировать str (не "NoneType") в str BeautifulSoup

привет всем я делаю в своем проекте поиск в google с помощью beautifulsoup и я получил это сообщение can only concatenate str (not "NoneType") to str when I try to search this is search.py

from django.shortcuts import render, redirect
import requests
from bs4 import BeautifulSoup


# done
def google(s):
    
   
    USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36'
    headers = {"user-agent": USER_AGENT}
    r=None
    links = []
    text = []
    r = requests.get("https://www.google.com/search?q=" + s, headers=headers)
    soup = BeautifulSoup(r.content, "html.parser")
    for g in soup.find_all('div', class_='yuRUbf'):
        a = g.find('a')
        t = g.find('h3')
        links.append(a.get('href'))
        text.append(t.text)   
    
        return links, text

и это views.py

from django.shortcuts import render, redirect
from netsurfers.search import google
from bs4 import BeautifulSoup
def home(request):
    return render(request,'home.html')

def results(request):
      if request.method == "POST":
        result = request.POST.get('search')
        google_link,google_text = google(result)
        google_data = zip(google_link,google_text)
        if result == '':
            return redirect('home')
        else:
            return render(request,'results.html',{'google': google_data})

и это urls.py

from django.contrib import admin
from django.urls import path,include
from . import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home,name='home'),
    path('results/',views.results,name='Result')
    
    
]

и это шаблонный дом

<form method='post' action="{% url 'Result' %}" class="d-flex" role="search">
                {% csrf_token %}
                 <input class="form-control me-2 " type="search" placeholder="ابحث وشارك بحثك مع الاخرين" aria-label="Search" style="width:22rem;">
                <input type="submit" class="btn btn-outline-success" value="ابحث" >
              </form>

и вот результаты шаблона

 {% for i,j in google %}
         <a href="{{ i }}" class="btn mt-3 w-100">{{ j }}</a><br>
        {% endfor %}

Я пытаюсь искать в google с помощью библиотеки BeautifulSoup, но вместо этого получаю такое сообщение можно конкатенировать только str (не "NoneType") в str

ваш шаблон ввода должен иметь свойство name

             <input class="form-control me-2 " type="search" placeholder="ابحث وشارك بحثك مع الاخرين" aria-label="Search" style="width:22rem;" name="search">

       
Вернуться на верх