Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在链接上获取文本的一部分?硒与蟒蛇_Python_Google Chrome_Selenium_Selenium Chromedriver - Fatal编程技术网

Python 如何在链接上获取文本的一部分?硒与蟒蛇

Python 如何在链接上获取文本的一部分?硒与蟒蛇,python,google-chrome,selenium,selenium-chromedriver,Python,Google Chrome,Selenium,Selenium Chromedriver,我是Selenium和Python的新手。我想从他的链接中提取IMDB电影ID,例如: 我只需要这个:tt6423886 问题是我可以通过selenium find元素链接获得该链接,但是我不知道如何只获取tt6423886 from selenium import webdriver driver = webdriver.Chrome ('chromedriver.exe') driver.get ('cinecalidad.to/espana/') pelicula_1 = driver.f

我是Selenium和Python的新手。我想从他的链接中提取IMDB电影ID,例如:

我只需要这个:tt6423886

问题是我可以通过selenium find元素链接获得该链接,但是我不知道如何只获取tt6423886

from selenium import webdriver
driver = webdriver.Chrome ('chromedriver.exe')
driver.get ('cinecalidad.to/espana/')
pelicula_1 = driver.find_element_by_css_selector('body:nth-child(2) div:nth-child(1) div:nth-child(3) div:nth-child(1) > div.home_post_cont.post_box:nth-child(1)')
pelicula_1.click()
numid = driver.find_element_by_css_selector('div.single_left:nth-child(5) tbody:nth-child(1) tr:nth-child(1) td:nth-child(2) div:nth-child(4) > a:nth-child(3)')
有人能帮我吗?

从链接中提取IMDB胶片ID
https://www.imdb.com/title/tt6423886/
您可以使用Python的方法,如下所示:

  • 代码块:

    print("Page URL is : %s" %driver.current_url)
    url = driver.current_url
    url_parts = url.split("/")
    print("The part I wanted was : %s" %url_parts[4])
    driver.quit()
    
  • 控制台输出:

    Page URL is : https://www.imdb.com/title/tt6423886/
    The part I wanted was : tt6423886
    

一种简单的方法是获取链接字符串并将其拆分:
link\u string.split('/')[-2]
然后[-2]使用pycharm获取短语的第二到最后一部分,它告诉我link\u string是一个未解析的引用。这是我的代码“来自selenium import webdriver driver=webdriver.Chrome('chromedriver.exe')driver.get(')pelicula\u 1=driver.find\u element\u by\u css\u selector('body:nth child(2)div:nth child(1)div:nth child(3)div:nth child(1)>div.home\u post\u cont\u post\u box:nth child(1)pelicula\u 1.单击()numid=driver.find\u element\u css selector('div.single_left:nth child(5)tbody:nth child(1)tr:nth child(1)td:nth child(2)div:nth child(4)>a:nth child(3)’该错误的原因是selenium希望url在驱动程序中以'http'或'https'开头。get()声明。http它被放置了,但我不知道为什么它没有复制我有这个页面,哪里放置了IMDB是我与我想要的代码的链接,我怎么能只复制代码然后粘贴?这不起作用。我的起始页面必须是cinecalidad.to/espana/,从那里我放弃了IMDB链接,然后需要获取id。问题在于当你访问IMDb页面时,使用代码块检索结果。当我访问IMDb页面并请求当前url时,仍然会告诉我我的页面url是。可能是因为它在新选项卡中打开了链接?如果是这样的话为什么,我如何在同一个选项卡中打开链接?@DanielMirandaMari这是一个单独的问题。为了进行调试,您可以等待url更改为
https://www.imdb.com/title/tt6423886/
并根据您的新要求提出一个新问题。因此,志愿者将乐于帮助您。