2018-03-06

python3爬取猫眼top100电影信息

import requests

from requests.exceptionsimport RequestException

import re

import json

from multiprocessing import Pool

def get_one_page(url):

try:

response = requests.get(url)

if response.status_code ==200:

return response.text

return None

    except RequestException:

return None

def parse_one_page(html):

pattern = re.compile('.*?board-index.*?>(\d+).*?data-src="(.*?)".*?name">

                        +'.*?>(.*?).*?star">(.*?).*?releasetime">(.*?)'

                        +'.*?integer">(.*?).*?fraction">(.*?).*?',re.S)

items = re.findall(pattern,html)

# print(items)

    for itemin items:

yield {

            '排名': item[0],

            '图片': item[1],

            '名称': item[2],

            '演员': item[3].strip()[3:],

            '时间': item[4].strip()[5:],

            '评分': item[5]+item[6]

}

def write_to_file(content):

with open('result.txt','a',encoding='utf-8')as f:

f.write(json.dumps(content,ensure_ascii=False) +'\n')

f.close()

def main(offset):

url ="http://maoyan.com/board/4" +str(offset)

html = get_one_page(url)

# print(html)

# parse_one_page(html)

    for item_ain parse_one_page(html):

print(item_a)

write_to_file(item_a)

if __name__ =="__main__":

# for i in range(10):

#    main(i*10)

    pool = Pool()

pool.map(main,[i*10 for iin range(10)])

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,886评论 18 139
  • Linux常用命令大全(非常全!!!)原文链接:http://www.cnblogs.com/yjd_hycf_s...
    JokerJin阅读 609评论 0 3
  • 最近在做一个养老院的项目,自己做的拦截器,希望能帮助上大家 下面直接把代码粘出来。 首先先新建一个CustomWe...
    Harry小哥哥阅读 226评论 0 0
  • 今天因为一句话,开心了整整一天,可能一直一直开心下去...... 这难道不就是恋人之间的甜言蜜语么? 虽然我没有...
    曾琦阅读 250评论 0 0
  • 传送门 https://pintia.cn/problem-sets/994805260223102976/pro...
    Rush的博客阅读 730评论 0 1