您的位置:首页 > 编程语言 > Python开发

python爬虫之猫眼视频Top100

2018-08-28 20:47 393 查看
版权声明:如有使用转载,请附加出处 https://blog.csdn.net/jia666666/article/details/82154313

猫眼视频Top100

import requests
import re,json
from multiprocessing import Pool

def get_one_page(url,head):
#异常处理
try:
#发送请求
response=requests.get(url,headers=head)
#判断网页状态码是否成功获取网页
if response.status_code==200:
return response.text
return None
except Exception:
#其他返回None
return None
def parse_one_page(html):
#利用正则表达式进行信息过滤
pattern = re.compile('<dd>.*?board-index board-index.*?>(.*?)</i>.*?<a.*?title="(.*?)".*?<img.*?'
'lt.*?src="(.*?)".*?star">(.*?)</p>.*?releasetime">(.*?)'
'</p>.*?integer">(.*?)</i>.*?fraction">(.*?)</i>',re.S)
#获取筛选后的信息并返回
items=re.findall(pattern,html)
return items
def write_to_file(items):
#写入信息
with open("猫眼电影Top100.txt", 'a+') as f:
for item in items:
#格式整理
item= "排名"+":"+item[0]+'\n'+\
"电影名称"+':'+item[1]+'\n'+\
"电影封面"+':'+item[2]+'\n'+\
item[3].strip()+'\n'+\
"上映时间"+':'+item[4]+'\n'+\
"评分"+':'+item[5]+item[6]+'\n\n'
#写入
f.write(str(item)+'\n')
#关闭
f.close()

def main(i):
#设置UA,模拟浏览器
head = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}

#生成url
url = 'http://maoyan.com/board/4?offset=%d'%(i*10)
#获取返回的网页
html=get_one_page(url,head)
#解析网页,进行信息筛选
items=parse_one_page(html)
#信息写入
write_to_file(items)

if __name__ == '__main__':
print("开始抓取猫眼TOP100电影榜单................")
#实例化进程池
pool=Pool()
#进程开始
pool.map(main,[i for i in range(10)])
print("抓取完成,已写入文件............")

效果如下

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: