У меня есть страница интрасети с несколькими полями ввода, мне нужен Scrapy для запуска поиска с использованием поля ввода «поиск товаров» на веб-страницах, он имеет идентификатор «searchBox»
Мне удалось заблокировать правильное окно поиска с помощью Scrapy и Beautiful Soup, но я не уверен, как правильно передать эти данные обратно в функцию отправки формы Scrapys.
В методе 1 я попытался просто передать результаты функции Scrapys FormRequest.from_response в качестве входных данных, но она не работает.
Метод 1 - Использование Scrapy для поиска данных
#Search for products
def parse(self, response):
##Let's try search using scrapy only
sel = Selector(response)
results = sel.xpath("//*[contains(@id, 'searchBox')]")
for result in results:
print (result.extract()) #Print out what scrapy found
return scrapy.FormRequest.from_response(results, formdata = {'Item': 'Whirlpool Washing Machine'}) #formdata is the data we are sending
Метод 2 - Использование красивого супа для поиска данных
#Search for products
def parse(self, response):
##Let's try search using Beautiful Soup only
soup = BeautifulSoup(response.text, 'html.parser')
product_search = []
product_search.append(soup.find("input", id="searchBox"))
print(product_search) #Print what BS found