# https://movie.douban.com/top250?start=25&filter= 要爬取的网页
import re
from urllib.request import urlopen
def getPage(url):
response=urlopen(url)
return response.read().decode('utf-8')
def parsePage(s):
ret=com.finditer(s)
for i in ret:
ret={
'id': i.group('id'),
'move_name':i.group('move_name'),
'move_d':i.group( 'move_d'),
'move_t':i.group('move_t'),
'content': i.group('content'),
'infor':i.group('infor')
}
yield ret
def main(num):
url='https://movie.douban.com/top250?start=%s&filter= ' %num
res=getPage(url)
ret=parsePage(res)
print(ret)
f=open('move',mode='a+',encoding='utf-8')
for obj in ret:
print(obj)
data1=str(obj).replace('\\n','')
data2=data1.replace(' ','')
f.write(data2 + '\n')
f.close()
com=re.compile('<div class="item">(?:.*?)<em class="">(?P<id>.*?)</em>(?:.*?)alt=(?P<move_name>.*?)src(?:.*?)导演:'
'(?P<move_d>.*?) (?:.*?)<br>(?P<move_t>.*?) (?:.*?) / (?P<content>.*?)</p>(?:.*?)<span class="inq">(?P<infor>.*?)</span>',re.S)
count=0
for i in range(10):
main(count)
count+=25
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。