代码拉取完成,页面将自动刷新
from urllib import request
import re,time
import random
from fake_useragent import UserAgent
class Maoyan(object):
def __init__(self):
self.url = 'https://maoyan.com/board/4?offset={}'
#技数变量
self.i = 0
def get_html(self,url):
#使用随机User-Agent
headers = {'User-Agent':UserAgent().random}
req = request.Request(url=url,headers=headers)
resp = request.urlopen(req)
html = resp.read().decode()
#直接调用解析函数
self.parse_html(html)
def parse_html(self,html):
re_bds = '<div class="movie-item-info">.*?title="(.*?)".*?<p class="star">(.*?)</p>.*?<p class="releasetime">(.*?)</p>'
p = re.compile(re_bds,re.S)
#film_list 电影列表[('','',),(),(),]
film_list = p.findall(html)
#直接调用保存函数
self.save_html(film_list)
def save_html(self,film_list):
item = {}
for film in film_list:
item['name'] = film[0].strip()
item['star'] = film[1].strip()
item['time'] = film[2].strip()[5:15]
print(item)
self.i += 1
def run(self):
for offset in range(0,91,10):
url = self.url.format(offset)
self.get_html(url)
#休眠
time.sleep(random.uniform(0,2))
print('数量:',self.i)
if __name__ == '__main__':
start = time.time()
spider = Maoyan()
spider.run()
end = time.time()
print('执行时间:%.2f'%(end-start))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。