使用Scrapy和selenium刮取网站

时间:2016-11-26 10:41:05

标签: python selenium scrapy

我将要删除html内容 http://ntry.com/#/scores/named_ladder/main.phpScrapy

但是,由于网站的Javascript使用和#,我想我必须使用 SeleniumPython)也。{/ p>

我想编写自己的代码,但我是编程新手,所以我想我需要帮助;

我想首先进入ntry.com,然后点击名为

的锚点移至http://ntry.com/#/scores/named_ladder/main.php
<body>
    <div id="wrap">
        <div id="container">
            <div id="content">
                <a href="/scores/named_ladder/main.php">사다리</a>
            </div>
        </div>
    </div>
</body>

然后我想使用Scrapy在已更改的页面上抓取htmls。

如何制作selenium - 混合Scrapy蜘蛛?

1 个答案:

答案 0 :(得分:0)

我安装了Selenium,然后加载了PhantomJS模块,它工作得很好。

以下是您可以尝试的内容

from selenium import webdriver 
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

class FormSpider(Spider):
    name = "form"

    def __init__(self):

        dcap = dict(DesiredCapabilities.PHANTOMJS)
        dcap["phantomjs.page.settings.userAgent"] = ("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36")

        self.driver = webdriver.PhantomJS(desired_capabilities=dcap, service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any', '--web-security=false'])
        self.driver.set_window_size(1366,768)


    def parse_page(self, response):
            self.driver.get(response.url)
            cookies_list = self.driver.get_cookies()