qq_40406414 2017-11-16 13:28 采纳率: 0%
浏览 816

python 爬取糗百一直报错,大大们来看看

Traceback (most recent call last):
File "C:\Users\123\AppData\Local\Programs\Python\Python36\糗百.py", line 34, in
items=getitems(gethtmltext(url))
File "C:\Users\123\AppData\Local\Programs\Python\Python36\糗百.py", line 17, in getitems
for tag_h2 in h:

TypeError: 'NoneType' object is not iterable

import requests
from bs4 import BeautifulSoup

def gethtmltext(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.enconding=r.apparent_encoding
return r.text
except:
return""
def getitems(html):
items=[]
soup=BeautifulSoup(html,"html.parser")
h=soup.find('div',"article block untagged mb15 typs_long")
dict={}
for tag_h2 in h:
dict['zuozhe']=tag_h2.find('h2').string
for tag_span in h.find('div','content'):
dict['neirong']=tag_span.find('span').string
for tag_i in h.find('span','stats-vote'):
dict['xiaosheng']=tag_i.find('i',"number").string
items.append(dict)

if name=='__main__':

for i in range (3):
    url='https://www.qiushibaike.com/hot/page/%s/'%i
    items=getitems(gethtmltext(url))
    html=gethtmltext(url)
    for qiubai_dict in items:
        print('zuozhe'+qiubai_dict['zuozhe'])
        print('nr'+qiubai_dict['neirong'])
        print('laugh'+qiubai_dict['xiaosheng'])
        print('----------------------------------------')
  • 写回答

2条回答 默认 最新

  • JPF1024 2017-11-16 15:51
    关注

    你这个是循环有问题吧,参考:http://python.jobbole.com/81351/

    评论

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?