我有一个小的抓取脚本,我尝试将其转移到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'
您是否尝试过request.POST ['textfield']而不是request.POST.get(“ textfield”)?