概述
此次是师哥给布置的任务,所以这几天就在研究如何完成获取https://movie.douban.com/top250这个网站里面250部电影的信息。
主要就是应用了python的urllib2与beautifulsoup的结合使用,也是我第一次使用爬虫,当然现在看也是基础的使用,是体会到工具的强大
还有就是借助 http://cuiqingcai.com/category/technique/python ,给予了我很大帮助。关于python的学习,这个网站给了很好的指导。
然后,现在是对python面向对象还需进一步学习理解,第一次我是按普通程序完成了,并没有建造类。之后我想用类的方法来完成,结果就是仅仅创建了两个类。
# -*- coding: utf-8 -*-
import urllib2
import re
from bs4 import BeautifulSoup
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
class movies:
def __init__(self,baseUrl):
self.url=baseUrl
self.title=[]
self.info=[]
def getInfo(self):
try:
con=''
for i in range(0,250,25):
response=urllib2.urlopen(self.url+str(i)+'&fileter=')
con=con+response.read()
except urllib2.URLError,e:
if hasattr(e,"reason"):
print u"链接失败,错误原因",e.reason
html_text=con
soup=BeautifulSoup(html_text,'html.parser',from_encoding='UTF-8')
link_temp=soup.find_all('a',href=re.compile(r'subject'))
link_node=[]
for i in range(0,500,2):
link_node.append(link_temp[i])
file = open('F:/PythonFile/movies.txt', 'w')
for enter in link_node:
try:
res=urllib2.urlopen(enter['href'])
print res.getcode()
infomation=res.read()
soup1=BeautifulSoup(infomation,'html.parser',from_encoding='UTF-8')
self.info=soup1.find_all('div',id=re.compile(r'info'))
self.title=soup1.find_all('title')
each_info = self.info
each_title = self.title
for link_t in each_title:
file.write(link_t.get_text())
file.seek(0, 2)
for link_i in each_info:
file.write(link_i.get_text())
file.seek(0, 2)
except urllib2.URLError,e:
print "找不到这个网页"
file.close()
url='https://movie.douban.com/top250?start='
mov=movies(url)
mov.getInfo()看起来程序是不是很简单。其实,只要知道了每个功能在什么地方用,怎么用,最后实现起来还是很简单的。
当然,再说一次,这些都是基础的,学习之路还在继续。
最后
以上就是刻苦石头为你收集整理的python爬电影_python爬虫之获取豆瓣电影信息的全部内容,希望文章能够帮你解决python爬电影_python爬虫之获取豆瓣电影信息所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复