在第三个Django视图中调用两个视图

问题描述 投票:0回答:1

我有一个小的抓取脚本,我尝试将其转移到Django。我的问题是我想在第三个视图中调用两个视图(应该返回一些内容),但是它不起作用。这是我的观点:

def create_request(url): 
    req = Request( 
        url,
        data=None, 
        headers={
            'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
        }
    )
    return req 

def get_request(req):
    return urlopen(req).read()

def scraping(request):
    link = 'https://www.transfermarkt.pl/schnellsuche/ergebnis/schnellsuche?query='
    data = request.POST.get("textfield")
    if data is None:
        return ''
    else:
        search = link + data + '&x=0&y=0'
        eleven = urllib.urlopen(search)

    soup = BeautifulSoup(
                     get_request(create_request(eleven)),     #here i got stuck
                     features="lxml" 
                    ) 

    anchor = soup.find("a",{"class":"spielprofil_tooltip"})
    #here appears rest of code where i scrap some data

现在,当我定义汤变量时,我陷入了困境。在这一行代码中,我使用了两个较早的视图:“ get_request”和“ create_request”,但我可能做错了。我在寻找一些方向,但没有找到任何东西,也不知道如何实现。

我应该如何使用这些视图来使第三个视图正常工作?

现在我的错误是:

Traceback:

File "/home/me/Desktop/myproject/myvenv/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
  34.             response = get_response(request)

File "/home/me/Desktop/myproject/myvenv/lib/python3.6/site-packages/django/utils/deprecation.py" in __call__
  96.             response = self.process_response(request, response)

File "/home/me/Desktop/myproject/myvenv/lib/python3.6/site-packages/django/middleware/clickjacking.py" in process_response
  26.         if response.get('X-Frame-Options') is not None:

Exception Type: AttributeError at /Website/scraping
Exception Value: 'str' object has no attribute 'get'
python django view
1个回答
0
投票

您是否尝试过request.POST ['textfield']而不是request.POST.get(“ textfield”)?

© www.soinside.com 2019 - 2024. All rights reserved.