• 猫眼电影北美票房爬虫 Request + 正则 加强训练


    import json
    import re
    from multiprocessing.pool import Pool
    
    import requests
    from requests import RequestException
    
    
    def get_one_page(url):
        try:
            response =requests.get(url)
            # print(response.text)
            if response.status_code==200:
                return response.text
        except RequestException:
            return None
    
    def parse(html):
        '''
        对界面进行解析
        :param html:
        :return:
        '''
        # pattern=re.compile('<dd>.*?board-index.*?>(d+)</i>.*?data-src="(.*?)".*?name"><a .*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>.*?realtime">(.*?)<span>.*?stonefont">(.*?);</span></span>(.*?)</p>.*?office">(.*?)<span>.*?stonefont">(.*?);</span></span>(.*?)</p>',re.S)#正则表达式
        pattern=re.compile('<dd>.*?board-index.*?>(d+)</i>.*?data-src="(.*?)".*?name"><a .*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>.*?realtime">(.*?)<span>',re.S)#正则表达式
        items=re.findall(pattern,html)
        for item in items:
            yield {
                '序号':item[0],
                '图片':item[1],
                '电影名': item[2],
                '主演': item[3].strip()[3:],
                '上映时间': item[4].strip()[5:],
            }
    
    def write_to_file(content):
        '''
        写入文本
        :param content:
        :return:
        '''
        with open('北美票房榜.txt', 'a',encoding='utf-8')as f:#打开文件,如果没有就创建,encoding 指定编码方式
            f.write(json.dumps(content,ensure_ascii=False)+'
    ')#ensure_ascii=False以指定的方式编码
    
    
    def main():
        url='https://maoyan.com/board/2'
        html=get_one_page(url)
        for item in parse(html):
    
            print(item)
            write_to_file(item)
    if __name__ == '__main__':
        main()
        # pool=Pool()#多线程 进程池
        # pool.map(main,[i*10 for i in range (10)])
  • 相关阅读:
    个人总结一些常见的css问题
    工作中的js总结
    js面向对象
    js的一些特性
    js 实现改变字体大小
    将博客搬至CSDN
    最大连续子序列----DP动态规划
    捡石子---贪心算法(huffman)
    素数环问题---深度搜索遍历
    nyoj---12 喷水装置(二)--区间覆盖问题
  • 原文地址:https://www.cnblogs.com/liangliangzz/p/10252778.html
Copyright © 2020-2023  润新知