MovieLens 数据集补充版爬虫代码解析

1 篇文章 0 订阅
1 篇文章 0 订阅

MovieLens 数据集补充版爬虫代码解析

import requests
from pyquery import PyQuery as pq
import pandas as pd
def get_response(url):
    try:
        response = requests.get(url, timeout=30)
        return response.text
    except:
        return "Request faild!"
def readData(file_path):
    input = pd.read_csv(file_path, dtype=str)
    return input
def main():
    inputs = readData('./MovieLens/links.csv')

    movieId_list = []
    imdbId_list = []
    image_list = []
    score_list = []
    overview_list = []
    director_list = []
    i = 0
    for id, item in inputs.iterrows():
        if item[1] is None or item[1] == "":
            print("------------------------------数据缺失------------------------")
            continue
        print("第------>" + str(i) + "次", str(item[1]))
        url = "https://www.imdb.com/title/tt" + str(item[1]) + '/'
        doc = pq(get_response(url))
        image_url = doc('.poster a img').attr.src
        score = doc('.ratingValue strong span').text()
        overview = doc('.summary_text').text()
        director = doc('.credit_summary_item a').text()
        i = i + 1
        if i % 100 == 0:
            print("【评分】=====>", score)
            print("【简介】=====>", str(overview).strip())
            print("【导演】=====>", director)
            print("【图片路径】=====>", image_url)
        if image_url is None or score is None or overview is None or director is None:
            print("----------------------------获取网页数据异常-----------------------------------------")
            continue
        else:
            movieId_list.append(item[0])
            imdbId_list.append(item[1])
            image_list.append(image_url)
            score_list.append(score)
            overview_list.append(str(overview).strip())
            director_list.append(director)
    return movieId_list, imdbId_list, img_list, overview_list, director_list, score_list
output = main()
第------>0次 0114709
第------>1次 0113497
第------>2次 0113228
第------>3次 0114885
第------>4次 0113041
第------>5次 0113277
第------>6次 0114319
第------>7次 0112302
第------>8次 0114576
第------>9次 0113189
第------>10次 0112346
第------>11次 0112896
第------>12次 0112453
第------>13次 0113987
第------>14次 0112760
第------>15次 0112641
第------>16次 0114388
第------>17次 0113101
第------>18次 0112281
第------>19次 0113845
第------>20次 0113161
第------>21次 0112722
第------>22次 0112401
第------>23次 0114168
第------>24次 0113627
第------>25次 0114057
第------>26次 0114011
第------>27次 0114117
第------>28次 0112682
第------>29次 0115012
第------>30次 0112792
第------>31次 0114746
第------>32次 0112431
第------>33次 0112818
第------>34次 0113442
第------>35次 0112697
第------>36次 0112749
第------>37次 0114279
第------>38次 0112819
第------>39次 0114272
第------>40次 0113855
第------>41次 0114681
第------>42次 0113347
第------>43次 0114369
第------>44次 0114148
第------>45次 0114916
第------>46次 0114814
第------>47次 0113819
第------>48次 0110299
第------>49次 0112499
第------>50次 0113158
第------>51次 0113321
第------>52次 0110877
第------>53次 0113419
第------>54次 0116260
第------>55次 0113862
第------>56次 0116126
第------>57次 0118002
第------>58次 0115683
第------>59次 0116839
第------>60次 0113149
第------>61次 0113118
第------>62次 0116367
第------>63次 0113010
第------>64次 0113537
第------>65次 0113828
第------>66次 0115644
第------>67次 0115676
第------>68次 0114367
第------>69次 0113973
第------>70次 0112744
第------>71次 0116731
第------>72次 0112445
第------>73次 0114660
第------>74次 0112379
第------>75次 0114039
第------>76次 0112365
第------>77次 0118158
第------>78次 0116151
第------>79次 0115697
第------>80次 0113972
第------>81次 0117002
第------>82次 0114825
第------>83次 0115639
第------>84次 0115759
第------>85次 0113403
第------>86次 0113247
第------>87次 0113283
第------>88次 0115907
第------>89次 0115734
第------>90次 0117102
第------>91次 0118040
第------>92次 0116483
第------>93次 0112579
第------>94次 0110251
第------>95次 0117110
第------>96次 0112646
第------>97次 0112573
第------>98次 0075314
第------>99次 0113326
【评分】=====> 6.8
【简介】=====> A young man visiting and helping his uncle in New York City finds himself forced to fight a street gang and the mob with his martial art skills.
【导演】=====> Stanley Tong Edward Tang Fibe Ma Jackie Chan Anita Mui Françoise Yip See full cast & crew
【图片路径】=====> https://m.media-amazon.com/images/M/MV5BZTUxMzY1N2YtZjM5NC00MmUzLThkNzEtYjNiYzg0MzI4MDc5L2ltYWdlXkEyXkFqcGdeQXVyNTAyODkwOQ@@._V1_UY268_CR6,0,182,268_AL_.jpg
第------>100次 0115645
第------>101次 0112373
第------>102次 0115033
第------>103次 0116606
第------>104次 0114536
第------>105次 0106473
第------>106次 0103859
第------>107次 0109424
第------>108次 0116324
第------>109次 0110647
第------>110次 0110217
第------>111次 0114131
第------>112次 0113451
第------>113次 0116130
第------>114次 0113756
第------>115次 0118055
第------>116次 0115685
第------>117次 0112585
第------>118次 0112442
第------>119次 0112342
第------>120次 0112461
第------>121次 0112427
第------>122次 0109093
第------>123次 0112384
第------>124次 0114287
第------>125次 0112288
第------>126次 0112462
第------>127次 0061395
第------>128次 0112495
第------>129次 0112541
第------>130次 0109370
第------>131次 0112642
第------>132次 0112688
第------>133次 0112715
第------>134次 0112740
第------>135次 0109508
第------>136次 0112851
第------>137次 0112857
第------>138次 0112864
第------>139次 0112887
第------>140次 0113071
第------>141次 0113114
第------>142次 0113243
第------>143次 0113464
第------>144次 0113481
第------>145次 0113492
第------>146次 0113500
第------>147次 0113540
第------>148次 0113677
第------>149次 0113690
第------>150次 0107447
第------>151次 0113729
第------>152次 0113749
第------>153次 0113820
第------>154次 0110604
第------>155次 0110620
第------>156次 0113957
第------>157次 0113986
第------>158次 0114095
第------>159次 0114194
input = pd.read_csv('./MovieLens/links.csv')
input['movieId'] = output[0]
input['imdbId'] = output[1]
input['imageUrl'] = output[2]
input['overview'] = output[3]
input['director'] = output[4]
input['score'] = output[5]
print(input[0:5])
output = pd.DataFrame(input)
output.to_csv('./MovieLens/result.csv',index=False)
def download_images(img_list, file_name, file_path):
    for img_url in ima_list:
        r = requests.get(img_url)
        path = file_path + file_name + ".jpg"  # 拼接文件路径
        with open(path, 'wb') as f:  # 写入文件
            f.write(r.content)
            f.close()
            print("文件保存成功")
download_images = (output[1], outputut[2],'./MovieLens/images/')
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值