python网络爬虫学习及实践记录 | part03-数据解析【lxml和xpath的结合-实践部分】
作者:互联网
part03-数据解析【lxml和xpath的结合-实践部分】
豆瓣部分
新建了douban_Spyder的新项目,拿到网页进行分析,爬取对象。
标注bug部分
这里卡主了,以为是版本问题,一直提示,把xml库重新下载修改配置都没有用,所以找出上个pppython项目进行对比,发现上次引用HTML方法的时候引用的是 “lxml”而不是xml,所以对应的xml的etree方法并没与HTML对上,这里找到etree的使用手册。标注这个错误,所以贴上lxml.etree HTML函数的用法
module ‘xml.etree’ has no attribute ‘HTML’
问题已经解决,跑出来抓取的内容,只不过是需要转码,这里还是很激动,昨晚包括上午一直卡在这里。
这里写个bug小标注:
- 出错不能慌 ,先从代码本身找问题;
- 完全没思路,可增加对照组,比如跑没问题的时候用法,一个个排除,用法|版本|引用 or 别的什么问题;
- 对用法要熟悉, 切记不要死记 用法,老师演示的需要手动练习的马上动手或者下次用的时候停下来想一想自己动手敲;
好的,接着完成豆瓣-最近上映电影 的实践。
后面敲代码真的就很顺利了,这个时候我还顺便研究了一下老师最近上映的电影,依此判断视频录制的时间,发现寻梦环游记在2017年11月上映的(同时也是一个朋友非常喜欢的一个片子/手动狗头保命),距离现在也还好,但是老师用的其他互联网公司的案例的网站分别都做了反爬虫机制,分析案例已经不再适用。侧面说明,现在互联网公司非常注重数据记录,从保护到收集。要好好学啊!!!
这里还有点小窃喜,在老师储存这个movie时候,自己敲for循环中的代码发现movies.append(movies)的话就没有变动,手动把s去掉了,应该是每次储存单条movie信息,结果是真的!老师手误把s按进去了,这里停下来思考的瞬间觉得自己超帅!
这部分爬取内容已经完成了,这里加个自己梳理的流程:
- 先分析爬取对象 要看爬那部分代码,针对源网页结构的分析需要考虑清楚,配合xpath与XML语法把解析公式写出来
- 构造代理头就不说了,伪造头+获取整个网页,再拆开结构,找到要的内容
- 进一步分析属性拿到信息
- 遍历元素进行存储 列表
好的话不多讲接着完成练习。这里完成老师的已上映的电影外,自己想做一个待上映的。结果发现,略困。先休息一波。
标签:xpath,xml,lxml,etree,python,实践,用法,HTML,上映 来源: https://blog.csdn.net/qq_28930251/article/details/97160557