【问题标题】:How to capture url of a new page selenium scrapy如何捕获新页面 selenium scrapy 的 url
【发布时间】:2020-05-03 07:45:13
【问题描述】:

我正在尝试开发一个网络抓取项目,在该项目中我抓取了一个名为 startup India 的网站,您可以在其中与初创公司建立联系单击每个启动,我必须进入该启动并抓取它,但这里的问题是在控制台中我没有看到我想要抓取的 URL。

代码如下:

import scrapy
from selenium import webdriver
import os
import logging
class ProductSpider(scrapy.Spider):
    name = "product_spider"
    allowed_domains = ['https://www.startupindia.gov.in/']
    start_urls = ['https://www.startupindia.gov.in/content/sih/en/search.html?industries=sih:industry/advertising&states=sih:location/india/andhra-pradesh&stages=Prototype&roles=Startup&page=0']

    def __init__(self):
        cwd = os.getcwd()
        self.driver = webdriver.Chrome("C:/Users/RAJ/PycharmProjects/WebCrawler/WebCrawler/WebCrawler/spiders/chromedriver.exe")


    def parse(self, response):
        self.driver.get(response.url)


        next = self.driver.find_elements_by_css_selector('div#persona-results a')
        logging.info(next)

        for i in next:
            try:
                logging.info(i.click())
                logging.info(response.url)

                # get the data and write it to scrapy items
            except:
                print("Yolo")

【问题讨论】:

标签: python-3.x selenium web-scraping scrapy


【解决方案1】:

看起来网站正在新标签页中打开启动屏幕,因此您必须切换到当前标签页

self.driver.switch_to.window(driver.window_handles[1])

或者你通过Xpath"//*[@id='persona-results']//a[@class='img-wrap']"找到网址直接打开不点击,会更快

【讨论】:

  • 嘿,个人,这确实改进了我的代码以更快地工作,但没有解决我的问题,但还是谢谢你,希望你能弄清楚:)
猜你喜欢
  • 1970-01-01
  • 2014-12-13
  • 2015-04-02
  • 1970-01-01
  • 2019-10-27
  • 1970-01-01
  • 1970-01-01
  • 2012-10-26
  • 2022-01-08
相关资源
最近更新 更多