问题在于Python的CSS选择器。
我无法以正确的方式编写选择器以选择带有“Last”的项目。我尝试过:
div.pager a:[text*='Last']
该项目所在的元素:
<div class="pager"><a href="/search/1080p/" class="current">1</a> <a href="/search/1080p/t-23/">23</a> <a href="/search/1080p/t-255/">Last</a> </div>
答案 0 :(得分:2)
绝对有可能,答案是:
div.pager a:contains("Last")
并且,这是python脚本中使用的选择器:
import requests
from lxml import html
main_link = "https://www.yify-torrent.org/search/1080p/"
base_link = "https://www.yify-torrent.org"
def get_links(item_link):
response = requests.get(item_link).text
tree = html.fromstring(response)
next_page = tree.cssselect('div.pager a:contains("Next")')[0].attrib["href"]
last_page = tree.cssselect('div.pager a:contains("Last")')[0].attrib["href"]
print(base_link + next_page," ",base_link + last_page)
get_links(main_link)
结果:
https://www.yify-torrent.org/search/1080p/t-2/
https://www.yify-torrent.org/search/1080p/t-255/
答案 1 :(得分:1)
您无法使用[text*='blabla']
选择项目。您只能使用属性来选择它们。
但无论如何,如果您想选择最后一个,可以使用:last-of-type
或last-child
。