正则表达式爬取猫眼电影

正则表达式爬取猫眼电影Top100

import requests
import re,json
from multiprocessing import Pool

def get_one_page(url):
    response = requests.get(url)
    return response.text

def parse_one_page(html):
    pattern = re.compile(‘<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name"><a‘
                         +‘.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>‘
                          +‘.*?integer">(.*?)</i>.*?fraction">(.*?)</i>.*?</dd>‘,re.S)

    items = re.findall(pattern,html)
    for item in items:
        yield {
            ‘index‘:item[0],
            ‘image‘:item[1],
            ‘title‘:item[2],
            ‘actor‘:item[3].strip()[3:],
            ‘time‘:item[4].strip()[5:],
            ‘score‘:item[5]+item[6]
        }

def write_to_file(content):
    with open(‘maoyan.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?offset=‘ + str(offset)
    html = get_one_page(url)
    for item in parse_one_page(html):
        write_to_file(item)

if __name__ == ‘__main__‘:
    # for i in range(10):
    #     main(i*10)
    #使用进程池
    pool = Pool()
    pool.map(main,[i*10 for i in range(10)])

原文地址:https://www.cnblogs.com/gaidy/p/12096797.html

时间: 2024-11-06 09:26:06

正则表达式爬取猫眼电影的相关文章

14-Requests+正则表达式爬取猫眼电影

'''Requests+正则表达式爬取猫眼电影TOP100''''''流程框架:抓去单页内容:利用requests请求目标站点,得到单个网页HTML代码,返回结果.正则表达式分析:根据HTML代码分析得到电影的名称.主演.上映时间.评分.图片链接等信息.保存至文件:通过文件的形式保存结果,每一部电影一个结果一行Json字符串.开启循环及多线程:对多页内容遍历,开启多线程提高抓取速度.'''import requestsimport refrom requests.exceptions impor

Requests+正则表达式 爬取猫眼电影

代码: import re import json from multiprocessing import Pool import requests from requests.exceptions import RequestException basic_url = 'http://maoyan.com/board/4?offset=%d' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWe

python爬虫知识点总结(九)Requests+正则表达式爬取猫眼电影

一.爬取流程 二.代码演示 #-*- coding: UTF-8 -*- #_author:AlexCthon #mail:[email protected] #date:2018/8/3 import requests from multiprocessing import Pool # 进程池,用来实现秒抓 from requests.exceptions import RequestException import re import json def get_one_page(url):

Requwsts+正则表达式爬取猫眼电影Top100

流程框架: 抓取单页内容:利用requests请求目标站点,得到单个网页HTML代码,返回结果. 正则表达式分析:根据HTML代码分析得到电影和名称.主演.上映时间.评分.图片链接等信息. 开启循环及多线程:对多页内容遍历,开启多线程提高抓取速度. 保存至文件:通过文件的形式将内容结果保存,每一部电影一个结果一行Json字符串. 原文地址:https://www.cnblogs.com/779084229yyt/p/9692010.html

Python爬虫实战之Requests+正则表达式爬取猫眼电影Top100

import requests from requests.exceptions import RequestException import re import json # from multiprocessing import Pool # 测试了下 这里需要自己添加头部 否则得不到网页 headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Ge

Requests+正则表达式爬取猫眼电影

1 # encoding:utf-8 2 from requests.exceptions import RequestException 3 import requests 4 import re 5 import json 6 from multiprocessing import Pool 7 8 def get_one_page(url): 9 try: 10 response = requests.get(url) 11 if response.status_code == 200:

使用xpath爬取猫眼电影排行榜

最近在学习xpath,在网上找资料的时候,发现一个新手经常拿来练手的项目,爬取猫眼电影前一百名排行的信息,很多都是跟崔庆才的很雷同,基本照抄.这里就用xpath自己写了一个程序,同样也是爬取猫眼电影,获取的信息是一样的,这里提供一个另外的解法. 说实话,对于网页信息的匹配,还是推荐用xpath,虽然正则确实也能达到效果,但是语句过于繁琐,一不注意就匹配不出东西,特别对于新手,本身就不熟悉正则表达式,错了都找不出来,容易劝退.正则我一般用于在处理文件,简直神器. 下面贴代码. import req

爬取猫眼电影

爬去猫眼电影正字热映电影榜单的前五页: #爬取猫眼电影正在热映前5面的所有电影 import requests from requests import RequestException import re def get_one_page(url): header ={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.8

python爬取猫眼电影top100排行榜

爬取猫眼电影TOP100(http://maoyan.com/board/4?offset=90)1). 爬取内容: 电影名称,主演, 上映时间,图片url地址保存到mariadb数据库中;2). 所有的图片保存到本地/mnt/maoyan/电影名.png 代码: import re import pymysql as mysql from urllib import request from urllib.request import urlopen u = 'root' p = 'root'