Python脚本查找

2024-04-27 04:11:35 发布

您现在位置:Python中文网/ 问答频道 /正文

下面的脚本列出了<ar-save-item>的所有标记的输出。你知道吗

def getrec():
    import requests
    from bs4 import BeautifulSoup
    recipe_list=[]
    recipes=[]
    result=[]
    key = "Paneer"
    url = "http://allrecipes.com/search/results/?wt="+key+"&sort=re"
    print(url);
    r=[]
    response = requests.get(url)
    try:
        result_page=BeautifulSoup(response.content,'lxml')
        r=result_page.find_all('ar-save-item')
        for res in r:
            print(r);

但是,我想在标签中显示类id值。怎么办?你知道吗

输出如下所示:

[<ar-save-item class="favorite" data-id="73715" data-imageurl="'http://images.media-allrecipes.com/userphotos/250x250/00/42/82/428269.jpg'" data-name='"Paneer"' data-type="'Recipe'"></ar-save-item>, <ar-save-item class="favorite" data-id="212521" data-imageurl="'http://images.media-allrecipes.com/userphotos/250x250/00/32/99/329922.jpg'" data-name='"Shahi Paneer"' data-type="'Recipe'"></ar-save-item>, <ar-save-item class="favorite" data-id="221826" data-imageurl="'http://images.media-allrecipes.com/userphotos/250x250/01/03/63/1036376.jpg'" data-name='"Palak Paneer (Indian Spinach and Paneer)"' data-type="'Recipe'"></ar-save-item>

需要什么作为结果:

data-id="73715"
data-id="212521"

以此类推。请帮忙。你知道吗


Tags: comidhttpurldatasaveresultitem
1条回答
网友
1楼 · 发布于 2024-04-27 04:11:35

resdict。您可以通过res['data-id']或使用get()方法作为res.get('data-id')来获取值。如果没有data-id属性,最好使用get(),因为它返回None,但是使用data-id作为res中的键会引发异常。你知道吗

import requests
from bs4 import BeautifulSoup

def getrec():

    key = "Paneer"
    url = "http://allrecipes.com/search/results/?wt="+key+"&sort=re"

    response = requests.get(url)
    result_page = BeautifulSoup(response.content,'lxml')
    r = result_page.find_all('ar-save-item')

    for res in r:
        print('data-id =', res.get('data-id'))

getrec()

输出

data-id = 73715
data-id = 212521
data-id = 221826
data-id = 212756
data-id = 232201
data-id = 222787
data-id = 232203
data-id = 240652
data-id = 138127
data-id = 256164
data-id = 221828
data-id = 212814
data-id = 106159
data-id = 159147
data-id = 86602
data-id = 237491
data-id = 213235
data-id = 228957
data-id = 228899
data-id = 232202

相关问题 更多 >