栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

爬取猫眼TOP100源码分享,简单易学,请收藏!!!!!1

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

爬取猫眼TOP100源码分享,简单易学,请收藏!!!!!1

本文利用requests及正则表达式完成,以文档形式保存,适合练习,成长的路上我们共同加油!!!
如网页访问报错,或者无内容,网站反爬限制,请更换代理或者更换网络IP,进行测试。(关注后,上篇文档有代理分享) # 1、抓取单页内容
# 利用requests 请求目标站点,得到单个网页的HTML代码,
# 2.正则表达式分析
# 利用HTML代码分析得到电影的名称。主演,上映时间。评分,图片连接。
# 3.保存到文件。
# 通过文件的形式将结果保存,每一步电影结果json字符

############
import json
import requests
import re
import urllib3
import json
urllib3.disable_warnings()
from requests.exceptions import RequestException  # 导入异常处理库
headers = {
    'User-Agent': 'Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3'
}
def get_one_page(url):  # 定义一个函数,获取一页的内容
    try:
        response = requests.get(url, headers=headers, verify=False)
        response.encoding = 'UTF-8'  # 以后爬取显示乱码,添加上
        if response.status_code == 200:  # 判断网页是否读取正常
            return response.text  # 返回内容
        else:
            return None
    except RequestException:  # 如果出现异常,就退出
        return None
def parse_one_page(html):
    pattern = re.compile('
.*?board-index.*?>(d+).*?data-src="https://www.mshxw.com/skin/sinaskin/image/nopic.gif".*?name">                          + '.*?>https://www.mshxw.com/skin/sinaskin/image/nopic.gif.*?star">https://www.mshxw.com/skin/sinaskin/image/nopic.gif

.*?releasetime">https://www.mshxw.com/skin/sinaskin/image/nopic.gif

'
                         + '.*?integer">https://www.mshxw.com/skin/sinaskin/image/nopic.gif.*?fraction">https://www.mshxw.com/skin/sinaskin/image/nopic.gif.*?
', 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:],
               '评分': item[5] + item[6], }
def Write_file(content):
   with open('E:猫眼result.txt', 'a', encoding='UTF-8') as f:
       f.write(json.dumps(content, ensure_ascii=False) + 'n')
       f.close()
def main(offet):  # 定义一个函数
    url = 'https://maoyan.com/board/4?offset=' + str(offet)  # 定义URL
    html = get_one_page(url)  # 打印网页内容
    parse_one_page(html)
    for item in parse_one_page(html):
        Write_file(item)
if __name__ == '__main__':
      for i  in range(10):
            main(i * 10)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/329898.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号