Python爬取猫眼电影TOP100

大家好,今天小编给大家介绍一个爬虫小程序。

在此,小编用的python版本为3.6,编辑软件为pycharm

首先我们导入需要的模块。

模块大多为第三方模块,我们可通过命令行安装:

Pip install requests

也可通过pycharm设置安装

当我们导入好模块之后即可开始编写我们今天的代码

首先我们定义一个函数用于获取我们所需网页源代码

但是由于大多数网页有反爬虫措施,有许多内容限制我们访问,所以我们得加一个请求头,模拟一个浏览器打开网页,这样才可读取网页源代码

读取源代码之后,我们便可寻找我们所需要的信息了,匹配信息有许多种方法,例如beautifulsoup,在这里我们用的是lxml,正则表达式如下:

再把我们匹配到的信息遍历出来

然后根据网页网址的特性,将爬我们所需的网站个数

最后将我们找到的信息保存到本地即可

程序运行结果如下

以下是我程序全代码:

# 导入模块
import requests
from lxml import etree
import json
import time


class MaoYao(object):
    def __init__(self):
        self.header = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.328'
                      '2.140 Safari/537.36 Edge/17.17134'
        }

    def getOnePage(self, url):
        html = requests.get(url, headers=self.header)
        return html.text

    def parseOnePage(self, text):
        html = etree.HTML(text)
        name = html.xpath('//p[@class="name"]//text()')
        star = html.xpath('//p[@class="star"]//text()')

        for item in range(9):
            yield {
                'name': name[item],
                'star': star[item]
            }
        # 1

    @staticmethod
    def write2File(content):
        with open(r'C:\Users\啊Diong\Desktop\新建文本文档.txt', 'a', encoding='utf-8') as fp:
            fp.write(json.dumps(content, ensure_ascii=False) + '\n')
        # 1


if __name__ == '__main__':

    maoyan = MaoYao()
    # 3
    try:
        for offset in range(0, 50, 10):

            time.sleep(1)

            url = 'http://maoyan.com/board/6?offset=' + str(offset)

            html = maoyan.getOnePage(url)

            text = maoyan.parseOnePage(html)
            # 3
            # 2

            for item in text:
                maoyan.write2File(item)
                print(item)
    except:
        print("")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值