python - 不确定为什么 beautifulsoup 代码不会抓取网站

标签 python parsing web-scraping beautifulsoup kodi

我已经使用过相当多的 BS,但我不确定为什么这不会被刮掉,因为我为 Kodi 制作的其他插件工作得很好。有人可以查看标签之间的代码,也许可以找到我丢失的部分吗?

addon/python 不会抛出任何错误,它只是提供一个空的 GUI 屏幕。如果标题或图像抓取正常,而链接则不然,那么它将显示标题/图像,但单击时链接将不起作用。所以这显然是标题/图像部分。我什至尝试过对图像部分进行哈希处理,以便它只查找链接和标题,但仍然没有任何结果。

链接被抓取:https://store.counterpunch.org/feed/podcast/

def get_soup1(url1):
    page = requests.get(url1)
    soup1 = BeautifulSoup(page.text, 'html.parser')
    print("type: ", type(soup1))
    return soup1
get_soup1("https://store.counterpunch.org/feed/podcast/")

def get_playable_podcast1(soup1):
    subjects = []
    for content in soup1.find_all('item', limit=9):
        try:        
            link = content.find('enclosure')
            link = link.get('url')
            print("\n\nLink: ", link)
            title = content.find('title')
            title = title.get_text()
        except AttributeError:
            continue
        item = {
                'url': link,
                'title': title,
                'thumbnail': "https://is2-ssl.mzstatic.com/image/thumb/Podcasts71/v4/71/55/88/71558834-c449-9ac3-e327-cad002e305b4/mza_4409042347411679857.jpg/600x600bb.jpg",
        }
        subjects.append(item)
    return subjects
def compile_playable_podcast1(playable_podcast1):
    items = []
    for podcast in playable_podcast1:
        items.append({
            'label': podcast['title'],
            'thumbnail': podcast['thumbnail'],
            'path': podcast['url'],
            'is_playable': True,
    })
    return items

最佳答案

您需要一个用户代理

def get_soup1(url1):
    page = requests.get(url1, headers = {'User-Agent':'Mozilla/5.0'})
    soup1 = BeautifulSoup(page.text, 'html.parser')
    print("type: ", type(soup1))
    return soup1

关于python - 不确定为什么 beautifulsoup 代码不会抓取网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57836857/

相关文章:

python - 将 Python 列表格式化为 SQL 脚本?

java - 解析时到达文件末尾

python - 创建列表词法分析器/解析器

php - 使用php从xml中提取信息

javascript - Puppeteer 无法获得完整的源代码

python - 使用 lxml 更改文本值

python - 如何使用 tensorflow 的 Estimator API 控制何时计算评估与训练?

python - 如何检查元素是否只在python中出现在列表中一次?

javascript - 图像抓取器 nodeJS。如何将回调函数发送到结果数组

python - 有多个类的 Scrapy 抓取 div?