利用python抓取豆瓣top500的电影

 前几天突然心血来潮想写一个爬虫,所以一开始写了一个抓取时光网数据的爬虫,主要用了beautifulsoup基本命令进行数据抓取,主要代码如下(具体代码说明包含在代码内部,在此就不细说了):

# -*- coding: utf-8 -*-
"""
Created on Thu Jan 18 14:37:37 2018

@author: cxoke
功能:抓取时光网top100的电影名字,导演。类型等
"""


# -*- coding:UTF-8 -*-
from bs4 import BeautifulSoup
import requests

if __name__ == '__main__':
    name=[]
    director=[]
    types=[]
    star=[]
    for i in range(2,11):
        url = 'http://www.mtime.com/top/movie/top100/index-{}.html'.format(str(i))
       #实现翻页功能,进行多页抓取
    
        headers = {
            "User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
            }#模拟浏览器进行抓取,防止网站反爬虫
        req = requests.get(url = url,headers = headers)
        req.encoding = 'utf-8'
        html = req.text
        bf = BeautifulSoup(html, 'lxml')
        daoyans=bf.select('.mov_con h2')#寻找属性为“mov_con”并且定位到位h2的标签抓取里面的内容

        for each in daoyans:
            name.append(each.text)
        daoyans=bf.select('.mov_con p')
        for daoyan in daoyans:
            if'导演:' in daoyan.text:
                director.append(daoyan.text)
            if'主演: ' in daoyan.text:
                star.append(daoyan.text)
            if'类型:' in daoyan.text:
                types.append(daoyan.text)
   
#将抓取的数据写入csv         
import pandas as pd
    #字典中的key值即为csv中列名
dataframe = pd.DataFrame({'电影名':name,'导演':director,'主演':s
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值