Python 使用beautiful soup选择一系列行项目
我试图从一个有2000多张图片的网站上抓取图片。当我调用站点中链接到图像的部分时,控制台中只显示约1/2的信息,因为打印的行太多。我需要看到的开始信息是切断,我想只显示一些条目。如何在行项目中仅显示2000多个条目中的一个范围(例如,从1到10) 我用的是:Python 使用beautiful soup选择一系列行项目,python,beautifulsoup,Python,Beautifulsoup,我试图从一个有2000多张图片的网站上抓取图片。当我调用站点中链接到图像的部分时,控制台中只显示约1/2的信息,因为打印的行太多。我需要看到的开始信息是切断,我想只显示一些条目。如何在行项目中仅显示2000多个条目中的一个范围(例如,从1到10) 我用的是: containers = page_soup.findAll("div", {"class": "image_list"}) containers[0] 使用索引: containers = page_soup.findAll("div"
containers = page_soup.findAll("div", {"class": "image_list"})
containers[0]
使用索引:
containers = page_soup.findAll("div", {"class": "image_list"})[0:10]
这将使容器具有前10个元素(因此您将打印10个元素)。您在这里有各种可能性: 1。在脚本中执行此操作 这将打印前10个容器:
containers = page_soup.findAll("div", {"class": "image_list"})[0:10]
for c in containers:
print(c)
containers = page_soup.findAll("div", {"class": "image_list"})
for c in containers:
print(c)
2。在外壳中进行操作
您可以使用shell命令打印所有容器,并只筛选希望看到的行。这样,您就可以灵活地更改输出,而无需反复编辑代码
在脚本中,我们将打印所有容器:
containers = page_soup.findAll("div", {"class": "image_list"})[0:10]
for c in containers:
print(c)
containers = page_soup.findAll("div", {"class": "image_list"})
for c in containers:
print(c)
在外壳中:
这将打印前10行:
python name_of_my_script.py | head
python name_of_my_script.py | tail
这将打印第5行到第10行:
python name_of_my_script.py | sed -n '5,10p'
这将打印最后10行:
python name_of_my_script.py | head
python name_of_my_script.py | tail
有关更多信息,请查看手册页。谢谢您的回复,但这给了我一个无效的语法错误。我尝试过在[0]之后更改(的位置,但运气不好
containers=page_-soup.findAll(“div”,{“class”:“image_-list”}))[0:10]
他似乎是这个意思