鱼C论坛

 找回密码
 立即注册
查看: 1914|回复: 18

[已解决]xdm,爬虫求助

[复制链接]
发表于 2021-6-6 01:27:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
python快期末了,快要交期末大作业了,但平时上课没好好听课,以及自学才刚学到类和对象,急需一份爬虫来完成大作业,如果有哪位朋友最近写了一份爬虫且有注释,希望可以借用一下,可以有偿,拜托了
最佳答案
2021-6-6 14:09:26
本帖最后由 小伤口 于 2021-6-6 14:10 编辑

这是我之前写的爬取京东评论和用户照片加上简单的可视化处理,你可以参考一下,
import requests
import json
import queue
import collections
import threading
import time
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
dict_data = []
dict_data2 = []
dict_data3 = []
zhao_pian = []
# 创建多线程
#爬取时间
class MyThread_j(threading.Thread):
    def __init__(self, q):
        threading.Thread.__init__(self)
        self.q = q
    #调用get_index()
    def run(self) -> None:
        self.get_index()
    def get_index(self):
        url = self.q.get()
        # 加请求头
        headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
        res = requests.get(url, headers=headers )
        #处理数据
        jd = json.loads(res.text.lstrip("fetchJSON_comment98(").rstrip(");"))
        #将时间存在data2.txt文件中
        for i in jd['comments']:
            x_zuobiao=i['creationTime'].split(' ')
            x_zuobiao=x_zuobiao[0].split('-')
            x_zuobiao=x_zuobiao[0]+x_zuobiao[1]
            with open("data2.txt", "a", encoding="utf-8") as file:
                file.write(x_zuobiao+ '\n')
for i in range(5,10):
    locals()['MyThread_j' + str(i)] = MyThread_j
# 创建多线程
#爬取评论
class MyThread(threading.Thread):
    def __init__(self, q):
        threading.Thread.__init__(self)
        self.q = q
    # 调用get_index()
    def run(self) -> None:
        self.get_index()
    def get_index(self):
        url = self.q.get()
        # 加请求头
        headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
        res = requests.get(url, headers=headers)
        #处理数据
        jd = json.loads(res.text.lstrip("jQuery593159(").rstrip(");"))
        #将评论存在data.txt中
        with open("data.txt", "a", encoding="utf-8") as file:
            for i in jd['comments']:
                file.write(i['content'] + '\n')
            #爬取照片并存在列表中
            try:
                for each in i['images']:
                    photo = each['imgUrl'].split('//')
                    photo = photo[-1]
                    photo = 'https://' + photo
                    print(photo)
                    zhao_pian.append(photo)
            except:
                pass
for i in range(5):
    locals()['MyThread_' + str(i)] = MyThread
def main(url_d):
    # 创建队列存储url
    q = queue.Queue()
    url_d = url_d.split('/')
    url_d = ''.join(url_d[-1])
    url_d = url_d.split('.')
    url_d = url_d[0]
    for i in range(5):
        url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=" + url_d + "&score=1&sortType=6&page=" + str(i) + "&pageSize=10&isShadowSku=0&fold=1"
        q.put(url)
        # 如果队列不为空,就继续爬
        while not q.empty():
            t = MyThread_j5(q)
            t.start()
            t.join()
    for i in range(5,10):
        url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=" + url_d + "&score=1&sortType=6&page=" + str(
            i) + "&pageSize=10&isShadowSku=0&fold=1"
        q.put(url)
        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_1 = MyThread_j6(q)
            t_1.start()
            t_1.join()
    for i in range(10,15):
        url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=" + url_d + "&score=1&sortType=6&page=" + str(
            i) + "&pageSize=10&isShadowSku=0&fold=1"
        q.put(url)
        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_2 = MyThread_j7(q)
            t_2.start()
            t_2.join()
    for i in range(15,20):
        url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=" + url_d + "&score=1&sortType=6&page=" + str(
            i) + "&pageSize=10&isShadowSku=0&fold=1"
        q.put(url)
        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_3 = MyThread_j8(q)
            t_3.start()
            t_3.join()
    for i in range(20,25):
        url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=" + url_d + "&score=1&sortType=6&page=" + str(
            i) + "&pageSize=10&isShadowSku=0&fold=1"
        q.put(url)
        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_4 = MyThread_j9(q)
            t_4.start()
            t_4.join()
    for i in range(5):
        url = "https://club.jd.com/comment/productPageComments.action?callback=jQuery593159&productId=" + url_d + "&score=2&sortType=5&page=" + str(
            i) + "&pageSize=10&pin=null&_=1616905936767"

        q.put(url)
        # 如果队列不为空,就继续爬
        while not q.empty():
            t = MyThread_0(q)
            t.start()
            t.join()
    for i in range(10):
        url = "https://club.jd.com/comment/productPageComments.action?callback=jQuery593159&productId=" + url_d + "&score=1&sortType=5&page=" + str(
            i) + "&pageSize=10&pin=null&_=1616905936767"
        q.put(url)

        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_1 = MyThread_1(q)
            t_1.start()
            t_1.join()
    for i in range(10, 15):
        url = "https://club.jd.com/comment/productPageComments.action?callback=jQuery593159&productId=" + url_d + "&score=2&sortType=5&page=" + str(
            i) + "&pageSize=10&pin=null&_=1616905936767"

        q.put(url)
        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_2 = MyThread_2(q)
            t_2.start()
            t_2.join()
    for i in range(15, 20):
        url = "https://club.jd.com/comment/productPageComments.action?callback=jQuery593159&productId=" + url_d + "&score=3&sortType=5&page=" + str(
            i) + "&pageSize=10&pin=null&_=1616905936767"
        q.put(url)
        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_3 = MyThread_3(q)
            t_3.start()
            t_3.join()
    for i in range(20, 25):
        url = "https://club.jd.com/comment/productPageComments.action?callback=jQuery593159&productId=" + url_d + "&score=3&sortType=5&page=" + str(
            i) + "&pageSize=10&pin=null&_=1616905936767"
        q.put(url)
        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_4 = MyThread_4(q)
            t_4.start()
            t_4.join()
    #读取并保存照片
    name = 0
    for i in zhao_pian[:]:
        r = requests.get(i)
        name += 1
        with open(str(name) + '.jpg', 'wb') as f:
            f.write(r.content)
    #将时间提取出来,并进行排序计数
    with open("data2.txt") as file:
        for line in file.readlines():
            dict_data.append(int(line))
    dict_data.sort()
    dic = collections.Counter(dict_data)
    for i in dic:
        dict_data2.append(str(i))
        dict_data3.append(dic[i])
    #绘制折线图
    x = np.array(dict_data2)
    y = np.array(dict_data3)
    fig=plt.figure(figsize=(25, 10))
    fig.patch.set_facecolor('Turquoise')
    ax = fig.add_subplot(111)
    ax.patch.set_facecolor('DeepSkyBlue')
    plt.plot(x, y, 'r')  # 折线 1 x 2 y 3 color
    plt.plot(x, y, 'red', lw=2)  # 4 line w
    plt.scatter(x, y, color='red', marker='o')
    font = FontProperties(fname="mnjzbh.ttf")
    plt.title("销售趋势(按时间顺序)", fontsize=24,fontproperties=font)
    plt.xlabel("时间(年,月)", fontsize=14,fontproperties=font)
    plt.ylabel("销售数量(件)", fontsize=14,fontproperties=font)
    plt.savefig('Figure_1.png', bbox_inches='tight')
    plt.show()
if __name__ == '__main__':
    url_d = input('输入网址:')
    start_time = time.time()
    main(url_d)
    end_time = time.time()
    print("耗时%d" % (end_time - start_time))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-6 03:02:56 | 显示全部楼层
import requests
import re
import csv
#设置查找条件
obj = re.compile(r'<li>.*?<span class="title">(?P<name>.*?)</span>.*?<br>(?P<year>.*?) .*?<span class="rating_num" '
                 r'property="v:average">(?P<score>.*?)</span>.*?<span>(?P<num>.*?)人评价</span>',re.S)
#设置请求头
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36'
}
#输入流
f = open('./imgs/top250电影排行榜.csv',mode='w',encoding="utf-8")
csvwriter = csv.writer(f)
#爬取数据
for page in range(0,250,25):
    #url地址
    url = 'https://movie.douban.com/top250?start={}&filter='.format(page)
    #发送请求
    response = requests.get(url,headers=headers)
    #获取页面信息
    page_content = response.text
    #查找需要爬取的内容
    result = obj.finditer(page_content)
    #将信息写入文件
    for it in result:
        dic = it.groupdict()
        dic['year'] = dic['year'].strip()
        csvwriter.writerow(dic.values())
f.close()
print('抓取完毕')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-6 08:39:48 | 显示全部楼层
具体问题是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-6 08:42:13 | 显示全部楼层
suchocolate 发表于 2021-6-6 08:39
具体问题是什么?

没有具体问题,就是你想做什么就做什么,爬虫分会相对高点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-6 08:45:45 From FishC Mobile | 显示全部楼层
形影似我遁无声 发表于 2021-6-6 08:42
没有具体问题,就是你想做什么就做什么,爬虫分会相对高点

最简单的爬虫也就几行代码,也能拿高分??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-6 08:50:32 | 显示全部楼层
wp231957 发表于 2021-6-6 08:45
最简单的爬虫也就几行代码,也能拿高分??

那肯定是不能的,糊弄他也不能这么糊弄啊。但如果就做个游戏啥的,不管你做的多好,即使是你做了很久很精美的游戏,他也只会给个及格分,相比而言爬虫,数据可视化之类的好拿分多了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-6 09:46:07 | 显示全部楼层
981048327
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-6 10:03:25 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-6 14:09:26 | 显示全部楼层    本楼为最佳答案   
本帖最后由 小伤口 于 2021-6-6 14:10 编辑

这是我之前写的爬取京东评论和用户照片加上简单的可视化处理,你可以参考一下,
import requests
import json
import queue
import collections
import threading
import time
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
dict_data = []
dict_data2 = []
dict_data3 = []
zhao_pian = []
# 创建多线程
#爬取时间
class MyThread_j(threading.Thread):
    def __init__(self, q):
        threading.Thread.__init__(self)
        self.q = q
    #调用get_index()
    def run(self) -> None:
        self.get_index()
    def get_index(self):
        url = self.q.get()
        # 加请求头
        headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
        res = requests.get(url, headers=headers )
        #处理数据
        jd = json.loads(res.text.lstrip("fetchJSON_comment98(").rstrip(");"))
        #将时间存在data2.txt文件中
        for i in jd['comments']:
            x_zuobiao=i['creationTime'].split(' ')
            x_zuobiao=x_zuobiao[0].split('-')
            x_zuobiao=x_zuobiao[0]+x_zuobiao[1]
            with open("data2.txt", "a", encoding="utf-8") as file:
                file.write(x_zuobiao+ '\n')
for i in range(5,10):
    locals()['MyThread_j' + str(i)] = MyThread_j
# 创建多线程
#爬取评论
class MyThread(threading.Thread):
    def __init__(self, q):
        threading.Thread.__init__(self)
        self.q = q
    # 调用get_index()
    def run(self) -> None:
        self.get_index()
    def get_index(self):
        url = self.q.get()
        # 加请求头
        headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
        res = requests.get(url, headers=headers)
        #处理数据
        jd = json.loads(res.text.lstrip("jQuery593159(").rstrip(");"))
        #将评论存在data.txt中
        with open("data.txt", "a", encoding="utf-8") as file:
            for i in jd['comments']:
                file.write(i['content'] + '\n')
            #爬取照片并存在列表中
            try:
                for each in i['images']:
                    photo = each['imgUrl'].split('//')
                    photo = photo[-1]
                    photo = 'https://' + photo
                    print(photo)
                    zhao_pian.append(photo)
            except:
                pass
for i in range(5):
    locals()['MyThread_' + str(i)] = MyThread
def main(url_d):
    # 创建队列存储url
    q = queue.Queue()
    url_d = url_d.split('/')
    url_d = ''.join(url_d[-1])
    url_d = url_d.split('.')
    url_d = url_d[0]
    for i in range(5):
        url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=" + url_d + "&score=1&sortType=6&page=" + str(i) + "&pageSize=10&isShadowSku=0&fold=1"
        q.put(url)
        # 如果队列不为空,就继续爬
        while not q.empty():
            t = MyThread_j5(q)
            t.start()
            t.join()
    for i in range(5,10):
        url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=" + url_d + "&score=1&sortType=6&page=" + str(
            i) + "&pageSize=10&isShadowSku=0&fold=1"
        q.put(url)
        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_1 = MyThread_j6(q)
            t_1.start()
            t_1.join()
    for i in range(10,15):
        url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=" + url_d + "&score=1&sortType=6&page=" + str(
            i) + "&pageSize=10&isShadowSku=0&fold=1"
        q.put(url)
        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_2 = MyThread_j7(q)
            t_2.start()
            t_2.join()
    for i in range(15,20):
        url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=" + url_d + "&score=1&sortType=6&page=" + str(
            i) + "&pageSize=10&isShadowSku=0&fold=1"
        q.put(url)
        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_3 = MyThread_j8(q)
            t_3.start()
            t_3.join()
    for i in range(20,25):
        url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=" + url_d + "&score=1&sortType=6&page=" + str(
            i) + "&pageSize=10&isShadowSku=0&fold=1"
        q.put(url)
        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_4 = MyThread_j9(q)
            t_4.start()
            t_4.join()
    for i in range(5):
        url = "https://club.jd.com/comment/productPageComments.action?callback=jQuery593159&productId=" + url_d + "&score=2&sortType=5&page=" + str(
            i) + "&pageSize=10&pin=null&_=1616905936767"

        q.put(url)
        # 如果队列不为空,就继续爬
        while not q.empty():
            t = MyThread_0(q)
            t.start()
            t.join()
    for i in range(10):
        url = "https://club.jd.com/comment/productPageComments.action?callback=jQuery593159&productId=" + url_d + "&score=1&sortType=5&page=" + str(
            i) + "&pageSize=10&pin=null&_=1616905936767"
        q.put(url)

        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_1 = MyThread_1(q)
            t_1.start()
            t_1.join()
    for i in range(10, 15):
        url = "https://club.jd.com/comment/productPageComments.action?callback=jQuery593159&productId=" + url_d + "&score=2&sortType=5&page=" + str(
            i) + "&pageSize=10&pin=null&_=1616905936767"

        q.put(url)
        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_2 = MyThread_2(q)
            t_2.start()
            t_2.join()
    for i in range(15, 20):
        url = "https://club.jd.com/comment/productPageComments.action?callback=jQuery593159&productId=" + url_d + "&score=3&sortType=5&page=" + str(
            i) + "&pageSize=10&pin=null&_=1616905936767"
        q.put(url)
        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_3 = MyThread_3(q)
            t_3.start()
            t_3.join()
    for i in range(20, 25):
        url = "https://club.jd.com/comment/productPageComments.action?callback=jQuery593159&productId=" + url_d + "&score=3&sortType=5&page=" + str(
            i) + "&pageSize=10&pin=null&_=1616905936767"
        q.put(url)
        # 如果队列不为空,就继续爬
        # 如果队列不为空,就继续爬
        while not q.empty():
            t_4 = MyThread_4(q)
            t_4.start()
            t_4.join()
    #读取并保存照片
    name = 0
    for i in zhao_pian[:]:
        r = requests.get(i)
        name += 1
        with open(str(name) + '.jpg', 'wb') as f:
            f.write(r.content)
    #将时间提取出来,并进行排序计数
    with open("data2.txt") as file:
        for line in file.readlines():
            dict_data.append(int(line))
    dict_data.sort()
    dic = collections.Counter(dict_data)
    for i in dic:
        dict_data2.append(str(i))
        dict_data3.append(dic[i])
    #绘制折线图
    x = np.array(dict_data2)
    y = np.array(dict_data3)
    fig=plt.figure(figsize=(25, 10))
    fig.patch.set_facecolor('Turquoise')
    ax = fig.add_subplot(111)
    ax.patch.set_facecolor('DeepSkyBlue')
    plt.plot(x, y, 'r')  # 折线 1 x 2 y 3 color
    plt.plot(x, y, 'red', lw=2)  # 4 line w
    plt.scatter(x, y, color='red', marker='o')
    font = FontProperties(fname="mnjzbh.ttf")
    plt.title("销售趋势(按时间顺序)", fontsize=24,fontproperties=font)
    plt.xlabel("时间(年,月)", fontsize=14,fontproperties=font)
    plt.ylabel("销售数量(件)", fontsize=14,fontproperties=font)
    plt.savefig('Figure_1.png', bbox_inches='tight')
    plt.show()
if __name__ == '__main__':
    url_d = input('输入网址:')
    start_time = time.time()
    main(url_d)
    end_time = time.time()
    print("耗时%d" % (end_time - start_time))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-31 21:20:36 | 显示全部楼层
小伤口 发表于 2021-6-6 14:09
这是我之前写的爬取京东评论和用户照片加上简单的可视化处理,你可以参考一下,

请问这里运行不了该怎么解决 求指教
Exception in thread Thread-11:
Traceback (most recent call last):
  File "E:\新建文件夹\lib\threading.py", line 973, in _bootstrap_inner
    self.run()
  File "C:/Users/admin/Desktop/京东评论区.py", line 22, in run
    self.get_index()
  File "C:/Users/admin/Desktop/京东评论区.py", line 30, in get_index
    jd = json.loads(res.text.lstrip("fetchJSON_comment98(").rstrip(");"))
  File "E:\新建文件夹\lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "E:\新建文件夹\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "E:\新建文件夹\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Exception in thread Thread-12:
Traceback (most recent call last):
  File "E:\新建文件夹\lib\threading.py", line 973, in _bootstrap_inner
    self.run()
  File "C:/Users/admin/Desktop/京东评论区.py", line 22, in run
    self.get_index()
  File "C:/Users/admin/Desktop/京东评论区.py", line 30, in get_index
    jd = json.loads(res.text.lstrip("fetchJSON_comment98(").rstrip(");"))
  File "E:\新建文件夹\lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "E:\新建文件夹\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "E:\新建文件夹\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-31 23:48:14 | 显示全部楼层
arrexxxx 发表于 2021-8-31 21:20
请问这里运行不了该怎么解决 求指教
Exception in thread Thread-11:
Traceback (most recent ...

你现在再运行一下试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-1 07:31:42 | 显示全部楼层
小伤口 发表于 2021-8-31 23:48
你现在再运行一下试试

还是不能正常运行,输入网址后显示的是这个东西
输入网址:https://item.jd.com/10027959220343.html
https://img30.360buyimg.com/n0/s ... 08933aa4c629b55.jpg
Traceback (most recent call last):
  File "C:\Users\admin\Desktop\京东评论区.py", line 215, in <module>
    main(url_d)
  File "C:\Users\admin\Desktop\京东评论区.py", line 210, in main
    plt.savefig('Figure_1.png', bbox_inches='tight')
  File "E:\新建文件夹\lib\site-packages\matplotlib\pyplot.py", line 966, in savefig
    res = fig.savefig(*args, **kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\figure.py", line 3015, in savefig
    self.canvas.print_figure(fname, **kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\backend_bases.py", line 2230, in print_figure
    self.figure.draw(renderer)
  File "E:\新建文件夹\lib\site-packages\matplotlib\artist.py", line 74, in draw_wrapper
    result = draw(artist, renderer, *args, **kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\artist.py", line 51, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\figure.py", line 2790, in draw
    mimage._draw_list_compositing_images(
  File "E:\新建文件夹\lib\site-packages\matplotlib\image.py", line 132, in _draw_list_compositing_images
    a.draw(renderer)
  File "E:\新建文件夹\lib\site-packages\matplotlib\artist.py", line 51, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\_api\deprecation.py", line 431, in wrapper
    return func(*inner_args, **inner_kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\axes\_base.py", line 2881, in draw
    self._update_title_position(renderer)
  File "E:\新建文件夹\lib\site-packages\matplotlib\axes\_base.py", line 2822, in _update_title_position
    if title.get_window_extent(renderer).ymin < top:
  File "E:\新建文件夹\lib\site-packages\matplotlib\text.py", line 903, in get_window_extent
    bbox, info, descent = self._get_layout(self._renderer)
  File "E:\新建文件夹\lib\site-packages\matplotlib\text.py", line 306, in _get_layout
    _, lp_h, lp_d = renderer.get_text_width_height_descent(
  File "E:\新建文件夹\lib\site-packages\matplotlib\backends\backend_agg.py", line 239, in get_text_width_height_descent
    font = self._get_agg_font(prop)
  File "E:\新建文件夹\lib\site-packages\matplotlib\backends\backend_agg.py", line 274, in _get_agg_font
    font = get_font(fname)
  File "E:\新建文件夹\lib\site-packages\matplotlib\font_manager.py", line 1424, in get_font
    return _get_font(filename, hinting_factor,
  File "E:\新建文件夹\lib\site-packages\matplotlib\font_manager.py", line 1405, in _get_font
    return ft2font.FT2Font(
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\admin\\Desktop\\mnjzbh.ttf'
>>>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-1 07:32:34 | 显示全部楼层
小伤口 发表于 2021-8-31 23:48
你现在再运行一下试试

还是不行,输入网址后显示的是这样

https://img30.360buyimg.com/n0/s ... 08933aa4c629b55.jpg
Traceback (most recent call last):
  File "C:\Users\admin\Desktop\京东评论区.py", line 215, in <module>
    main(url_d)
  File "C:\Users\admin\Desktop\京东评论区.py", line 210, in main
    plt.savefig('Figure_1.png', bbox_inches='tight')
  File "E:\新建文件夹\lib\site-packages\matplotlib\pyplot.py", line 966, in savefig
    res = fig.savefig(*args, **kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\figure.py", line 3015, in savefig
    self.canvas.print_figure(fname, **kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\backend_bases.py", line 2230, in print_figure
    self.figure.draw(renderer)
  File "E:\新建文件夹\lib\site-packages\matplotlib\artist.py", line 74, in draw_wrapper
    result = draw(artist, renderer, *args, **kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\artist.py", line 51, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\figure.py", line 2790, in draw
    mimage._draw_list_compositing_images(
  File "E:\新建文件夹\lib\site-packages\matplotlib\image.py", line 132, in _draw_list_compositing_images
    a.draw(renderer)
  File "E:\新建文件夹\lib\site-packages\matplotlib\artist.py", line 51, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\_api\deprecation.py", line 431, in wrapper
    return func(*inner_args, **inner_kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\axes\_base.py", line 2881, in draw
    self._update_title_position(renderer)
  File "E:\新建文件夹\lib\site-packages\matplotlib\axes\_base.py", line 2822, in _update_title_position
    if title.get_window_extent(renderer).ymin < top:
  File "E:\新建文件夹\lib\site-packages\matplotlib\text.py", line 903, in get_window_extent
    bbox, info, descent = self._get_layout(self._renderer)
  File "E:\新建文件夹\lib\site-packages\matplotlib\text.py", line 306, in _get_layout
    _, lp_h, lp_d = renderer.get_text_width_height_descent(
  File "E:\新建文件夹\lib\site-packages\matplotlib\backends\backend_agg.py", line 239, in get_text_width_height_descent
    font = self._get_agg_font(prop)
  File "E:\新建文件夹\lib\site-packages\matplotlib\backends\backend_agg.py", line 274, in _get_agg_font
    font = get_font(fname)
  File "E:\新建文件夹\lib\site-packages\matplotlib\font_manager.py", line 1424, in get_font
    return _get_font(filename, hinting_factor,
  File "E:\新建文件夹\lib\site-packages\matplotlib\font_manager.py", line 1405, in _get_font
    return ft2font.FT2Font(
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\admin\\Desktop\\mnjzbh.ttf'
>>>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-1 11:31:15 | 显示全部楼层
小伤口 发表于 2021-8-31 23:48
你现在再运行一下试试

还是没有过 只能打出图片
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-1 11:32:53 | 显示全部楼层
arrexxxx 发表于 2021-9-1 11:31
还是没有过 只能打出图片

Traceback (most recent call last):
  File "C:\Users\admin\Desktop\京东评论区.py", line 215, in <module>
    main(url_d)
  File "C:\Users\admin\Desktop\京东评论区.py", line 210, in main
    plt.savefig('Figure_1.png', bbox_inches='tight')
  File "E:\新建文件夹\lib\site-packages\matplotlib\pyplot.py", line 966, in savefig
    res = fig.savefig(*args, **kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\figure.py", line 3015, in savefig
    self.canvas.print_figure(fname, **kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\backend_bases.py", line 2230, in print_figure
    self.figure.draw(renderer)
  File "E:\新建文件夹\lib\site-packages\matplotlib\artist.py", line 74, in draw_wrapper
    result = draw(artist, renderer, *args, **kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\artist.py", line 51, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\figure.py", line 2790, in draw
    mimage._draw_list_compositing_images(
  File "E:\新建文件夹\lib\site-packages\matplotlib\image.py", line 132, in _draw_list_compositing_images
    a.draw(renderer)
  File "E:\新建文件夹\lib\site-packages\matplotlib\artist.py", line 51, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\_api\deprecation.py", line 431, in wrapper
    return func(*inner_args, **inner_kwargs)
  File "E:\新建文件夹\lib\site-packages\matplotlib\axes\_base.py", line 2881, in draw
    self._update_title_position(renderer)
  File "E:\新建文件夹\lib\site-packages\matplotlib\axes\_base.py", line 2822, in _update_title_position
    if title.get_window_extent(renderer).ymin < top:
  File "E:\新建文件夹\lib\site-packages\matplotlib\text.py", line 903, in get_window_extent
    bbox, info, descent = self._get_layout(self._renderer)
  File "E:\新建文件夹\lib\site-packages\matplotlib\text.py", line 306, in _get_layout
    _, lp_h, lp_d = renderer.get_text_width_height_descent(
  File "E:\新建文件夹\lib\site-packages\matplotlib\backends\backend_agg.py", line 239, in get_text_width_height_descent
    font = self._get_agg_font(prop)
  File "E:\新建文件夹\lib\site-packages\matplotlib\backends\backend_agg.py", line 274, in _get_agg_font
    font = get_font(fname)
  File "E:\新建文件夹\lib\site-packages\matplotlib\font_manager.py", line 1424, in get_font
    return _get_font(filename, hinting_factor,
  File "E:\新建文件夹\lib\site-packages\matplotlib\font_manager.py", line 1405, in _get_font
    return ft2font.FT2Font(
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\admin\\Desktop\\mnjzbh.ttf'
>>>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-1 11:33:36 | 显示全部楼层
小伤口 发表于 2021-8-31 23:48
你现在再运行一下试试

打印图片之后是这样子的报错T T
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-1 11:43:26 | 显示全部楼层
arrexxxx 发表于 2021-9-1 11:33
打印图片之后是这样子的报错T T

评论也是能打出来的,但是不明白为啥还是会报错。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-1 12:25:14 From FishC Mobile | 显示全部楼层
arrexxxx 发表于 2021-9-1 11:33
打印图片之后是这样子的报错T T

这个是正常现象因为好像这个方法要弃用了,所以会显示这个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 13:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表