团队-爬虫豆瓣top250项目-模块开发过程
项目托管平台地址:https://gitee.com/ningshuyoumeng/TuanDui-PaChongDouBantop250XiangMu-MoKuaiKaiFa
开发模块功能:
功获取页面的全部内容功能,开发时间:0.5天(小时),实现了获取豆瓣HTML的内容,实现过程是
def askURL(url):
request = urllib2.Request(url)#发送请求
try:
response = urllib2.urlopen(request)#取得响应
html= response.read()#获取网页内容
#print html
except urllib2.URLError, e:
if hasattr(e,"code"):
print e.code
if hasattr(e,"reason"):
print e.reason
return html
获取相关内容功能,开发时间:3.5天(小时),实现了获取影片名,影片相关内容:导演,主演,年份,地区,类别等,实现过程是
def getData(baseurl):
findLink=re.compile(r'<a href="(.*?)">')#找到影片详情链接
findImgSrc=re.compile(r'<img.*src="(.*jpg)"',re.S)#找到影片图片
findTitle=re.compile(r'<span class="title">(.*)</span>')#找到片名
#找到评分
findRating=re.compile(r'<span class="rating_num" property="v:average">(.*)</span>')
#找到评价人数
findJudge=re.compile(r'<span>(\d*)人评价</span>')
#找到概况
findInq=re.compile(r'<span class="inq">(.*)</span>')
#找到影片相关内容:导演,主演,年份,地区,类别
findBd=re.compile(r'<p class="">(.*?)</p>',re.S)
#去掉无关内容
remove=re.compile(r' |\n|</br>|\.*')
datalist=[]
for i in range(0,10):
url=baseurl+str(i*25)
html=askURL(url)
soup = BeautifulSoup(html)
for item in soup.find_all('div',class_='item'):#找到每一个影片项
data=[]
item=str(item)#转换成字符串
#print item
link=re.findall(findLink,item)[0]
data.append(link)#添加详情链接
imgSrc=re.findall(findImgSrc,item)[0]
data.append(imgSrc)#添加图片链接
titles=re.findall(findTitle,item)
遇到的问题及问题解决方法:
开发获取电影相关内容时遇到了豆瓣对每个标签都有限制,使得在这个标签下查找的页数不能太多,所以获取数据不全问题,最终并没有去解决这个问题
其他补充说明:
模块并不完善,看着有些混乱。等团队最终的模块结合