Scrapy没有从自定义搜索框中获取结果

时间:2018-08-21 19:47:53

标签: javascript beautifulsoup scrapy

我想抓紧时间从Intranet站点加载页面并使用网页搜索框运行搜索,一旦完成,我将把控制权交给第二个代码块来做一些工作。

搜索框使用Javascript加载带有搜索结果的新网址。我的蜘蛛似乎无法使用该盒子。我一直在找一些有关此的教程,它应该是正确的,但是我没有任何运气。 我只是空白输出。

预期的输出应该是我的搜索结果返回的整页,然后获取h4元素的文本值。

目标框代码

<div class="searchbox">
<script type="text/javascript">
    var completeUrl = '/example/web/example.m4n';
</script>
<input type="text" name="_shellA" size="17" maxlength="40" id="searchfield" class="searchfield" value="Search" onfocus="if (value=='Search'){value=''}else{partHighlight(this.id,0,this.value.length)}" onblur="if (value==''){value='Search'};lostFocus()" autocomplete="off" onkeyup="autoComplete(event);" onkeypress="if(event.keyCode == 27) {onEscape();return false;} if(UI.getKeyFrom(event)==13) {UI.elem('_shellA_sch0').onclick(); return false;} removeNewLines(this)"><input type="button" value="" id="_shellA_A" name="_shellA_A" class="searchbutton" onclick="if( UI.pb_boolean(this, 'click') ) {} return false;"><div class="autosuggestions invisible" id="autosuggestions"></div>
</div>

我的代码以定位搜索框

class MegascraperSpider(scrapy.Spider):
    name = 'megascraper'
    allowed_domains = 'http://example.com'
    start_urls = ['http://example.com']
    def search_product(self, response):

        yield scrapy.FormRequest(url = 'http://example.com', formdata = '1111774', callback = self.something) #formdata is the data we are sending

    #If the search finds our value, pass control to this section
    def something(self, response):
        soup = BeautifulSoup(response.text, 'html.parser')   #Use the HTML Parser
        print("something something")
        print(soup.find("h4").text)

0 个答案:

没有答案