python从入门到放弃篇25(lxml.etree库,urllib.request库,xpath方法,for循环构造xpath路径)爬取一刀999页面,并保存数据。

今天,我研究了一天的爬虫构造方法,自己看了一下书上有讲url的构造,我自己突然想到,url可以构造,那么xpath路径也可以构造啊?试验了一下,还真的可以,所以,跟大家分享一下。现在感觉很舒服,因为又学到新的东西了。

案例网址:http://tggg.37.com/?uid=2743062&bd_vid=12353914052143466403

第一步,我们还是照常的导入我们可能需要使用的各种库。
在这里插入图片描述
第二步,将url搭建好,并设置好请求报头。
在这里插入图片描述在这里插入图片描述
第三步,将设置好的url和请求报头headers参数赋值给变量request,再将变量request传递给urllib.request.urlopen()函数,再赋值给响应变量response,接着,对response响应变量进行读取和解码,最后,建立选择器模型,用lxml的etree库的HTML函数。所以,如下图:
在这里插入图片描述
第四步,我们观察一下网页结构。
在这里插入图片描述
在这里插入图片描述
中间的结构省略,大家要是有兴趣也可以挨个查看…
在这里插入图片描述
所以,通过观察,我们发现可以通过构建标签a的属性data-type值从111变到118,也就是说,我们从点击第一个链接的标题开始到最后一个链接的标题,这个过程,它的属性值会逐渐规律性递增。因此,我们可以根据这个规律来构造xpath路径我这里使用的for循环来构造。但是,我并没有根据属性值构造xpath路径,而是复制了xpath的绝对路径,观察它的绝对路径,然后构造的。不过,根据属性值构造跟我的这个方法是异曲同工。所以有:
在这里插入图片描述
这样就可以,既将文本爬出来,而且又输出文本对应的链接地址了。结果如下图:
在这里插入图片描述
其他的文本和对应链接的提取,也可以使用这种构造法,来进行标题和链接的提取。

接下来,我们就是要将数据存储到本地计算机中了,所以,代码修改如下图:
在这里插入图片描述
结果,会自动在指定路径下面生成TXT文件,在pycharm编辑器打开文件,Oh!my雷迪嘎嘎!!what’s happened?
在这里插入图片描述

在这里插入图片描述

应该是,写入文件没有编码,所以就。。修改代码后,
在这里插入图片描述

再来一次,我就不信了!运行后:
在这里插入图片描述
打开文件:
在这里插入图片描述
OK,好了,一切问题解决了,很nice!

最后,感谢大家前来阅读鄙人的文章,不胜感激,若文中有不妥之处,还望指出和海涵。

猜你喜欢

转载自blog.csdn.net/weixin_43408020/article/details/107450462