穆穆青风至 2022-05-05 22:19 采纳率: 97.4%
浏览 27
已结题

关于爬虫selenium的使用问题

这是爬虫文件,就这个一个爬虫

class FirstSpiderSpider(scrapy.Spider):
    name = 'first_spider'
    allowed_domains = ['movie.douban.com']
    start_urls = ['https://read.douban.com/?dcm=original-nav']

    def parse(self, response):
        title = response.xpath('//*[@id="react-root"]/div/div/div[3]/div/div[2]/div/div/div[2]/div/div[1]/div['
                               '2]/h4/a/span/text()').extract_first()
        print(title)

有一个下载中间件,而且启用了

class LolDownloaderMiddleware:
    def process_request(self, request, spider):
        url = request.url
        # 开启selenium
        driver = webdriver.PhantomJS(executable_path=r'D:\tool\phantomjs-2.1.1-windows\bin\phantomjs.exe')
        driver.get(url)
        c = driver.find_element(By.XPATH, '//*[@id="react-root"]/div/div/div[3]/a[1]')
        c.click()
        time.sleep(1)
        data = driver.page_source  # 获取页面源代码
        driver.close()  # 关闭selenium
        return HtmlResponse(url=url, body=data, encoding='utf-8', request=request)

我的问题就是它的执行流程,爬虫启动一开始,注意我说的最开始,start_urls里面的这个唯一地址,是先经过下载中间件,再到下载器,然后再返回给爬虫处理?

  • 写回答

1条回答 默认 最新

  • Mint.Coder 2022-05-06 07:21
    关注

    不建议使用自动化的selenium,慢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月15日
  • 已采纳回答 5月7日
  • 修改了问题 5月5日
  • 创建了问题 5月5日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效