爬猫眼电影评论

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jmkmlm123456/article/details/85246800

初学python,难免要玩个小爬虫

见csdn的公众号每天推送python爬猫眼的电影评论,自己就想试一试,下面分享一下小白爬虫全过程

1.下载python,我用的编辑器是vsCode,感觉这个简单大方
2.配置一下环境变量,百度都装好
3.会用到一些插件,可以pip install 来安装
4.代码上来

#3.7.1
import json
import requests   #这个需要pip一下,这是个爬网络资源的包
from lxml import etree #这个也需要pip install etree

def getOnePage(n):   //定义请求网页函数
    url = f'https://maoyan.com/board/4?offset={n*10}'   #根据猫眼电影url规律分析出来
    header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0'}  #浏览器F12->network可以获取到
    r = requests.get(url,headers=header)
    return r.text #返回的文本信息

#data = getOnePage(2)
#print(data)
def parse(text):
    #etree提取函数
    html = etree.HTML(text)   
    #names 返回列表
    names = html.xpath('//div[@class="movie-item-info"]/p[@class="name"]/a/@title')
   #xpath提取网页
    releasetimes = html.xpath('//p[@class="releasetime"]/text()')
    #print(names,releasetimes)

    #字典定义
    item ={ }
    #拉链函数
    for name,releasetime in  zip(names,releasetimes):
        
        #print(name,releasetime)
        item['name'] = name
        item['releasetime']=releasetime
        #生成器 循环迭代(把值抛给函数)
        yield item


#保存数据
def save2File(data):
    with open('movie.json','a',encoding='utf-8') as f:
        #把字典 列表 转换为字符串 换行
        data = json.dumps(data,ensure_ascii=False) + '\n'
        f.write(data)

def run():

    for n in range(0,10):

        text = getOnePage(n)

        items = parse(text)

        for item in items:
           # print(item)
            save2File(item)

run()

猜你喜欢

转载自blog.csdn.net/jmkmlm123456/article/details/85246800