python爬取猫眼电影Top100

目标:获取猫眼电影Top100

运用css选择器抓取数据,将数据存放在csv表格里

实现代码如下

import requests
import time
import csv
import parsel

def get_url(url):
    headers={
        'User-Agent': '自己的user-agent',
        'Cookie': '自己的cookie',
        'Host': 'maoyan.com',
        'Referer': 'https: // maoyan.com / board / 4?offset = 40'
    }
    response=requests.get(url=url,headers=headers,timeout=3)
    print('调用get')
    if response.status_code==200:
        return response.text
    else:
        return None

def parse_url():
    htmltext=get_url(url)
    selector=parsel.Selector(htmltext)
    content_list=selector.css('dd')
    global dit
    for lis in content_list:
        index=lis.css('i::text').get()
        name = lis.css('.name a::text').get()
        star = lis.css('.star::text').get().replace('主演:','')
        time = lis.css('.releasetime::text').get().replace('上映时间:','')
        score = lis.css('.integer::text').get()+lis.css('.fraction::text').get()
        dit = {
            '排名':index,
            '电影名称': name,
            '主演': star,
            '上映时间': time,
            '评分': score
        }
        print(dit)
        save_file()
        print('调用parse')
        print(type(dit))

def save_file():
    csv_writer.writerow(dit)

def main(page):
    global url
    url='https://maoyan.com/board/4?offset='+str(page)
    parse_url()
    print('调用main')

if __name__=='__main__':
    f = open('D://maoyanTop100.csv', 'a+', encoding='utf-8', newline='')
    csv_writer=csv.DictWriter(f,fieldnames=['排名','电影名称','主演','上映时间','评分'])
    csv_writer.writeheader()
    for i in range(10):
        main(page=i*10)
        time.sleep(2)
    print('下载完成')

在这里插入图片描述

CSS选择器作用
i::text获取所有< i >标签的 文本内容
.name a::text获取所有class='name’下< a >标签的文本内容
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值