开始动手的时候毫无头绪,主要借鉴了以下帖子:
https://blog.csdn.net/sinat_28797501/article/details/70195443
但是后来发现代码中还是有一些不太妥当之处,不知是因为网站更新换代、结构改变,还是代码或环境有所差异,修修补补之后,还是完成了图片的爬取。(ps:原贴做的还是很好的哈哈哈膜一波)
主要修改的几个地方:
原帖中图片存储时,格式出现了一点问题,可能是作者手误(gif图片无法保存为gif格式,只能为jepg)或者有其他考虑;
可能存在网站更新换代的情况,在收集帖子url的时候发现不存在原帖中的<tr>?跑到hupu爆照区重新看了一眼网页代码发现已经没这个结构了(原贴貌似用的是table),换成<ul>和<a>了(tagtable和tagstr);
环境不同,作者似乎用的是python2,我的是anaconda3,用到的urllib包版本也不同,作者是urllib2;
调试期间的一些小改动,为找bug,不再赘述(比如为了省事注释掉写文本文件的部分-_-!)。
之后爬了爆照区和什么图都有区,效果嘛,如下~
代码如下:
import urllib
import urllib3
from bs4 import BeautifulSoup
import logging
class Item(object):
title = None # 帖子标题
firstAuthor = None # 帖子原作者
firstTime = None # 帖子创建时间
reNum = None # 帖子回复浏览数量
LastTime = None # 帖子最后回复时间
LastAuthor = None # 帖子最后回复作者
link = None # 帖子链接
# 全局方法获取网页内容
def getResponseContent(url):
try:
response = urllib.request.urlopen(url,timeout = 20)
ht