import requests from lxml import etree import csv headers={ "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.64" } url = 'https://www.bilibili.com/v/channel/17532487/?tab=featured' # headers如前 xpath_videoplay='//ul[@class="card-list"]/div/div[@class="video-card"]/div[@class="video-card__content"]/a/div[@class="video-card__info"]/span[@class="play-text"]/span[@class="count"]/text()' xpath_videolike='//ul[@class="card-list"]/div/div[@class="video-card"]/div[@class="video-card__content"]/a/div[@class="video-card__info"]/span[@class="like-text"]/span[@class="count"]/text()' xpath_videotime='//ul[@class="card-list"]/div/div[@class="video-card"]/div[@class="video-card__content"]/a/div[@class="video-card__info"]/span[@class="play-duraiton"]/text()' xpath_videoername='//ul[@class="card-list"]/div/div[@class="video-card"]/a/span[@class="up-name__text"]/text()' xpath_videoname='//ul[@class="card-list"]/div/div[@class="video-card"]/a[@class="video-name"]/text()' response = requests.get(url, headers=headers) response.encoding = 'utf8' dom = etree.HTML(response.text) videoplays=dom.xpath(xpath_videoplay) videolikes=dom.xpath(xpath_videolike) videotimes=dom.xpath(xpath_videotime) videoernames=dom.xpath(xpath_videoername) videonames=dom.xpath(xpath_videoname) data = [] for i in range(len(videoplays)): t = {} t['视频制作者']=videoernames[i] t['视频标题']=videonames[i] t['视频时长']=videotimes[i] t['视频播放量'] = videoplays[i] t['视频点赞数'] = videolikes[i] data.append(t) # for t in data: # print(t) # print(t.items()) # save_data(xpath_videoername, xpath_videoname,xpath_videotime, xpath_videoplay, xpath_videolike) # def save_data(xpath_videoername, xpath_videoname,xpath_videotime, xpath_videoplay, xpath_videolike)';' # with open('./video.csv', 'a+', encoding='utf-8-sig') as f; # video_info=f'{xpath_videoername},{xpath_videoname},{xpath_videotime},{xpath_videoplay},{xpath_videolike}\n' # f.write(video_info) file_path="D:/python/up主数据.csv" with open(file_path,"w",encoding="utf-8-sig",newline='') as f: fieldnames = list(t[0].keys()) f_csv=csv.DictWriter(f,fieldnames=fieldnames) f_csv.writeheader() for row in t: writer.writerow(row)
时间: 2023-06-10 18:06:00 浏览: 230
from lxml import etree
这这段这段代码这段代码用这段代码用于这段代码用于导这段代码用于导入这段代码用于导入Python这段代码用于导入Python中这段代码用于导入Python中的这段代码用于导入Python中的requests这段代码用于导入Python中的requests和这段代码用于导入Python中的requests和l这段代码用于导入Python中的requests和lxml这段代码用于导入Python中的requests和lxml库这段代码用于导入Python中的requests和lxml库,并这段代码用于导入Python中的requests和lxml库,并且这段代码用于导入Python中的requests和lxml库,并且也这段代码用于导入Python中的requests和lxml库,并且也导这段代码用于导入Python中的requests和lxml库,并且也导入这段代码用于导入Python中的requests和lxml库,并且也导入了这段代码用于导入Python中的requests和lxml库,并且也导入了csv这段代码用于导入Python中的requests和lxml库,并且也导入了csv库这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码中这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码中的这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码中的url这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码中的url是这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码中的url是获取这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码中的url是获取B这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码中的url是获取B站这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码中的url是获取B站某这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码中的url是获取B站某个这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码中的url是获取B站某个频这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码中的url是获取B站某个频道这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码中的url是获取B站某个频道的这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码中的url是获取B站某个频道的页面这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码中的url是获取B站某个频道的页面地址这段代码用于导入Python中的requests和lxml库,并且也导入了csv库。通过设置headers,伪装成浏览器进行访问。接下来,代码中的url是获取B站某个频道的页面地址。
阅读全文