博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 判断元素是否在set_Python-BeautifulSoup-如何检查ResultSet是否包含elemen
阅读量:7024 次
发布时间:2019-06-28

本文共 1158 字,大约阅读时间需要 3 分钟。

我正在做一些网页抓取,但我想出了一些我想不出来的东西。基本上,我需要检查ResultSet元素releaseDate的第0个元素是否包含[]

但是当“content”不在标记中时,我会得到一个错误,比如Traceback (most recent call last):

File "", line 1, in

File "imdbQuestion.py", line 18, in

if releaseDate[0]['content']:

File "build/bdist.macosx-10.8-intel/egg/bs4/element.py", line 879, in __getitem__

KeyError: 'content'

如何检查'content'是否在releaseDate中而不会导致错误?

另外,如何从ResultSet对象中提取所需的内容?

完整代码是:import requests

from bs4 import BeautifulSoup

file = codecs.open('imdb.txt', 'w', encoding = 'utf-8')

#iterate through last value

for increment in range(7,10):

imdbNum = '015008' + str(increment)

url = 'http://www.imdb.com/title/tt' + imdbNum

urlCode = requests.get(url)

soup = BeautifulSoup(urlCode.content)

#get release date

releaseDate = soup.findAll(attrs={'itemprop':'datePublished'})

abc = releaseDate

#error checking - assign '.' to releaseDate if releaseDate[0] is blank

#if not blank, check if 'content' is in releaseDate[0]. if so, we are good. if not, assign 'CHECK' to releaseDate[0]

if releaseDate:

if releaseDate[0]['content']:

releaseDate = releaseDate[0]['content']

else:

releaseDate = 'CHECK'

else:

releaseDate = '.'

print releaseDate

file.close()

转载地址:http://cwsxl.baihongyu.com/

你可能感兴趣的文章
主元素 Majority Element
查看>>
关于加密的一些笔记
查看>>
MySQL并发处理
查看>>
android Bitmap的内存优化
查看>>
我的友情链接
查看>>
mysql主从备份
查看>>
高并发Web服务的演变—节约系统内存和CPU
查看>>
MyBatis的Batch处理导致秒杀系统超卖的问题
查看>>
远程备份电脑 —— 方案二:不需要使用.bat批运行文件
查看>>
解决Redhat Linux5 yum出现This system is not registered with RHN的方法
查看>>
10.23 linux任务计划cron 10.24 chkconfig工具 10.25 systemd管理服务 10.26 unit介绍 10.27 target介绍...
查看>>
2015/01/26PP租车面试总结
查看>>
荷露叮咚wp建站系列视频课程1.WordPress基本介绍
查看>>
在线重启Exadata CELL
查看>>
我的友情链接
查看>>
MySql客户端查询发生乱码的解决方法
查看>>
centos6.5修改ip地址
查看>>
create oncreate wm_create
查看>>
运维之我的docker-运行你第一个镜像实例-docker容器
查看>>
Zabbix安装配置指南
查看>>