爬虫第二天
其实一直想爬个妹子图,因为网上的教程不计其数,好像都是拿这个作为案例教材来入门的。毕竟实战出真知。昨天晚上在网上找了个精品学习贴子,然后经过不断调试,终于成功。再次记录一下。主要参考的是https://cuiqingcai.com/3179.html/comment-page-6#comments
感觉这个个人博客非常不错。以后就打算看这个博客学爬虫了。
- 必需软件:anaconda3 Pychram
主要按照流程走,注意在新建项目的时候将anaconda3里面的python.exe作为project interpreter。因为ananconda3里面已经安装里许多包,其中就有所需的requests 和 bs4 包。所以就不用安装直接用了。
下面就按流程走,记录一下问题。
贴子在后面要获取每一个套图的最后一个页码(也就是要获取每一个套图到底有多少张图片)的时候讲的没听懂。但是其实没必要这么说,直接看代码就理解了。
for a in all_a:
title = a.get_text()
href = a['href']
html = requests.get(href, headers = headers)
html_Soup = BeautifulSoup(html.text, 'lxml')
max_span = html_Soup.find('div', class_= "pagenavi").find_all('span')[-2].get_text()
这一步就是在随便打开一个套图,打开其中的任何一张,F12,Ctrl+shift+c找到显示页码的图标,你会发现在div class= pagenavi的那一块下面的所有span元素中,倒数第二个永远都是总页码。所以[-2]就是获得总页码。然后我运行就会报错。我看到评论区也有人报错。报错内容一样 "NoneType" object has no attribute 'find_all'。在网上搜了半天,还以为选取内联元素有特别的方式。但是其实却是根本我就没有选取到内容,find_all当然就找不到东西了。所以当我改了一下代码:
for a in all_a[1:]:
title = a.get_text()
href = a['href']
html = requests.get(href, headers = headers)
html_Soup = BeautifulSoup(html.text, 'lxml')
max_span = html_Soup.find('div', class_= "pagenavi").find_all('span')[-2].get_text()
跳过all_a[0]就没有报错了。之后一切顺顺利利。具体还得去看一下在all_a[0]那个界面的span到底是如何安排的。就这样!
网友评论