Python3 中的简单网络爬虫不产生输出。这是怎么回事?

我在运行此处列出的示例代码时遇到问题:https : //dev.to/pranay749254/build-a-simple-python-web-crawler。


这是我试图运行的代码:


import requests

from bs4 import BeautifulSoup

def web(page,WebUrl):

    if(page>0):

        url = WebUrl

        code = requests.get(url)

        plain = code.text

        s = BeautifulSoup(plain, "html.parser")

        for link in s.findAll('a', {'class':'s-access-detail-page'}):

            tet = link.get('title')

            print(tet)

            tet_2 = link.get('href')

            print(tet_2)

web(1,'https://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords=Stomp+box&rh=i%3Aaps%2Ck%3AStomp+box')

当我通过终端 shell(我正在运行 Ubuntu 16.04)运行上述代码时,程序不返回任何输出。我使用以下命令:


$ python3 BasicCrawler.py

我按回车键,终端上没有打印任何文本,就好像我没有运行任何脚本一样。我可以在程序中添加 print() 命令来验证它是否正在运行,但它似乎没有打印变量 tet 或 tet2。


qq_笑_17
浏览 162回答 3
3回答

波斯汪

它没有打印任何内容,因为列表可能为空。这意味着类名“s-access-detail-page”的“a”标签在您解析的 html 文档中不包含任何内容。打印 HTTP 响应的输出并尝试找出要迭代和获取数据的块的确切类。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python