在处理分页LXML(Handling pagination in lxml)

2019-10-20 00:40发布

我想反映一个红宝石刮刀,我写但蟒蛇只有环境。 我已经决定使用LXML和要求来完成这件事。 我的问题是分页:

base_url = "http://example.com/something/?page=%s"  
for url in [base_url % i for i in xrange(10)]:  
    r = requests.get(url)

我是新来的Python和这个库,所以我不知道要执行等效的Ruby代码的最佳方式:

last_pg = (page.xpath("//div[contains(@class, 'b-tabs-utility')]").text.split('of ')[-1].split(' Results')[0].to_f / 60).ceil
puts "Current Index: #{last_pg}"
for pg_number in 1..last_pg do
  puts "Getting links on page #{pg_number}"

Answer 1:

通过拆分得到的结果数b-tabs-utility DIV变成空格,最后才获得元素:

base_url = "http://example.com/something/?page=%d" 
results_per_page = 60

div = page.xpath("//div[contains(@class, 'b-tabs-utility')]")[0].text
last_pg = int(div.split()[-2]) / results_per_page
for i in xrange(last_pg):
    r = requests.get(base_url % i)

我假设的div文是在下面的格式,例如: ... of 642 Results



文章来源: Handling pagination in lxml