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('----------------------------------------')