【发布时间】:2022-09-23 21:33:05
【问题描述】:
理想情况下,我想保持我的代码不变,只用一个while循环来补充它,它将输出列表的所有元素,直到列表的最后一部分(我知道可能有 - 一个更简单的解决方案,但我想提高我的知识在我自己的例子的上下文中的while循环)。
import requests
import lxml.html as lh
from lxml.etree import tostring
req=requests.get(\'https://www.dailymail.co.uk/debate/article-11113609/DAN-WOOTTON-intolerant-left-belittles-death-threats-against-JK-Rowling-peril.html#comments-11113609\')
df=lh.fromstring(req.text)
### Can we use a while loop here to output all the results of the entire list iteration below
f=0+1
elem = df.xpath(\'//script\')[f]
print(tostring(elem))
例子:
elem = df.xpath(\'//script\')[0]
print(tostring(elem))
输出:
b\"\\n var disableAds = true;\\n PageCriteria = window.PageCriteria || {};\\n PageCriteria.clientIP = \'83.20.32.187\';\\n PageCriteria.nonAdservable = \'\' === \'true\';\\n PageCriteria.device = \'other\';\\n PageCriteria.liveCommentary = false;\\n\\n\\n\\n\"
我试图让我的代码输出列表以下部分的整个结果,但使用 while 循环而不是必须手动列出所有列表索引。
elem = df.xpath(\'//script\')[0] elem = df.xpath(\'//script\')[1] elem = df.xpath(\'//script\')[2]直到列表的最后一个索引。
标签: python web-scraping xpath while-loop lxml