【问题标题】:Scraping a website using Scrapy and selenium使用 Scrapy 和 selenium 抓取网站
【发布时间】:2016-11-26 10:41:05
【问题描述】:

我要抓取 html 内容 http://ntry.com/#/scores/named_ladder/main.phpScrapy

但是,由于该网站的 Javascript 使用和 # ,我想我必须使用 Selenium (Python) 也是。

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

我想先进入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 在更改后的页面上抓取 html。

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

【问题讨论】:

标签: python selenium scrapy


【解决方案1】:

我安装了 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()

【讨论】:

  • 您必须自己编写start_requests 方法...我跳过了。
猜你喜欢
  • 1970-01-01
  • 2014-11-23
  • 2013-05-09
  • 2020-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多