Python在数组中请求html打印响应

kak*_*aki 5 python python-3.x python-requests python-requests-html

我试图检查链接是否包含http并打印URL.

import requests
from requests_html import HTMLSession
import sys

link = "http://www.tvil.me/view/93/4/8/v/%D7%90%D7%99%D7%99_%D7%96%D7%95%D7%9E%D7%91%D7%99_IZombie.html"
enter_episodes = HTMLSession().get(link)
page = enter_episodes.html
s = page.xpath("//*[@class='view-watch-button']/a")
for l in s:
    link = l.links
    if link != "set()":
        print(link)
Run Code Online (Sandbox Code Playgroud)

响应:

{'http://streamcloud.eu/ga4m4hizbrfb/iZombie.S04E08.HDTV.x264-SVA.mkv.html'}
{'http://uptostream.com/77p26f7twwhe'}
set()
{'https://clipwatching.com/aog2ni06rzjt/rrFhepnbFfpt6xg.mkv.html'}
set()
[Finished in 1.7s]
Run Code Online (Sandbox Code Playgroud)

我试图删除set()响应并仅获取没有{'和的链接'}.

mao*_*r10 0

您只需确保该集合的长度大于 1,然后将其弹出:

import requests
from requests_html import HTMLSession
import sys

link = "http://www.tvil.me/view/93/4/8/v/%D7%90%D7%99%D7%99_%D7%96%D7%95%D7%9E%D7%91%D7%99_IZombie.html"
enter_episodes = HTMLSession().get(link)
page = enter_episodes.html
s = page.xpath("//*[@class='view-watch-button']/a")
for l in s:
    link = l.links
    if len(link) > 0: # make sure it has a value
        print(link.pop()) # get the last value (in your case, the only one)
Run Code Online (Sandbox Code Playgroud)