开发者社区> 问答> 正文

我的Beautiful Soup代码返回TypeError:“ NoneType”对象不可迭代

我正在使用“ Beautiful Soup”进行网页抓取,并在此处获取TypeError。

我的代码如下:

import requests
from bs4 import BeautifulSoup

r = requests.get("https://www.amazon.com/s?k=asus&rh=n%3A300189&nav_sdd=aps&pd_rd_r=58b28d7d-1955-433b-b33b-b1b5dcf1f522&pd_rd_w=MJzan&pd_rd_wg=QG3cj&pf_rd_p=6d81377b-6d6c-4363-ae02-8fa202ed7b50&pf_rd_r=X0BDDAPN7TTW0ZT1REX6&qid=1583290662&ref=sxwds-sbc_c2")
soup = BeautifulSoup(r.text, 'html.parser')
x = soup.find(Class='a-size-medium a-color-base a-text-normal')

for vari in x:
    print(vari.get_text())

错误:

Traceback (most recent call last):
  File "c:/Users/intel/Desktop/Untitled-1.py", line 8, in <module>
    for vari in x:
TypeError: 'NoneType' object is not iterable

我认为我的Class ID没错...

问题来源:stackoverflow

展开
收起
is大龙 2020-03-25 09:19:57 2841 0
1 条回答
写回答
取消 提交回答
  • 您的代码无效,因为Amazon阻止了您的自动化请求。

    import requests
    from bs4 import BeautifulSoup
    
    r = requests.get("https://www.amazon.com/s?k=asus&rh=n%3A300189&nav_sdd=aps&pd_rd_r=58b28d7d-1955-433b-b33b-b1b5dcf1f522&pd_rd_w=MJzan&pd_rd_wg=QG3cj&pf_rd_p=6d81377b-6d6c-4363-ae02-8fa202ed7b50&pf_rd_r=X0BDDAPN7TTW0ZT1REX6&qid=1583290662&ref=sxwds-sbc_c2")
    soup = BeautifulSoup(r.text, 'html.parser')
    with open("out.html", "w") as f:
       f.write(str(soup))
    

    回答来源:stackoverflow

    2020-03-25 09:20:04
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载