• 大小: 2.71MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-04-09
  • 语言: Python
  • 标签: python  爬虫  

资源简介

python爬虫,并将数据进行可视化分析,数据可视化包含饼图、柱状图、漏斗图、词云、另附源代码和报告书。

资源截图

代码片段和文件信息

import tkinter as tk
import time
from tkinter import *
from tkinter import messagebox
import string
import pickle
import random
import requests
from bs4 import BeautifulSoup
import os
import jieba
from pyecharts.charts import Bar
from pyecharts.charts import Pie
from pyecharts.charts import Funnel
from pyecharts.charts import Page WordCloud
from pyecharts import options as opts
from pyecharts.globals import SymbolType
from pyecharts.globals import ThemeType
headers = {
    ‘Upgrade-Insecure-Requests‘: ‘1‘
    ‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/72.0.3626.119 Safari/537.36‘
    ‘Accept-Encoding‘: ‘gzip deflate‘
    ‘Accept-Language‘: ‘zh-CNzh;q=0.9en;q=0.8‘
    ‘Cache-Control‘: ‘no-cache‘
    ‘Connection‘: ‘keep-alive‘
    ‘Host‘: ‘search.dangdang.com‘
}
def parseHtml(html):
    data = {}
    #print(html)
    soup = BeautifulSoup(html ‘lxml‘)
    conshoplist = soup.find_all(‘div‘ {‘class‘: ‘con shoplist‘})[0]
    
    for each in conshoplist.find_all(‘li‘):
        # 书名
        bookname = each.find_all(‘a‘)[0].get(‘title‘).strip(‘ ‘)
        # 书图
        img_src = each.find_all(‘a‘)[0].img.get(‘data-original‘)
        if img_src is None:
            img_src = each.find_all(‘a‘)[0].img.get(‘src‘)
        img_src = img_src.strip(‘ ‘)
        # 价格
        price = float(each.find_all(‘p‘ {‘class‘: ‘price‘})[0].span.text[1:])
        # 简介
        detail = each.find_all(‘p‘ {‘class‘: ‘detail‘})[0].text
        # 评分
        stars = float(each.find_all(‘p‘ {‘class‘: ‘search_star_line‘})[0].span.span.get(‘style‘).split(‘: ‘)[-1].strip(‘%;‘)) / 20
        # 评论数量
        num_comments = float(each.find_all(‘p‘ {‘class‘: ‘search_star_line‘})[0].a.text[:-3])
        data[bookname] = [img_src price detail stars num_comments]
    return data
def create():
    global keyword
    global num_page
    keyword = text_var.get()
    top = Toplevel()
    top.title(‘Python‘)
    #top.geometry(‘850x150‘)
    img1 = tk.PhotoImage(file=“bg.gif“)
    v = tk.StringVar()
    label_1 = tk.Label(top textvariable=v fg=“red“ bg=“black“ font=(“黑体“ 20))
    label_1.pack()

    url = ‘http://search.dangdang.com/?key={}&act=input&page_index={}‘
    results = {}
    cnt = 0
    num_page = 0
    while True:
        cnt += 1
        if cnt > 5:
            break
        num_page += 1
        v.set(‘[INFO]: Start to get the data of page%d...‘ % num_page)
        label_1.update()
        time.sleep(3)
        page_url  = url.format(keyword num_page)
        res = requests.get(page_url headers=headers)
        if ‘抱歉,没有找到与“%s”相关的商品,建议适当减少筛选条件‘ % keyword in res.text:
            break
        page_data = parseHtml(res.text)
        results.update(page_data)
        

    messagebox.showinfo( “Python爬虫“ “爬虫已完成“)
    with open(‘%s_%d.pkl‘ % (keyword num_page-1) ‘wb‘) as f:
        pickle.dump(results f)

    labe

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        9723  2020-06-12 15:28  python代码\Reptile+Pyecharts.py
     文件      270140  2019-12-29 21:00  python代码\bg.gif
     文件       96863  2019-12-30 15:07  python代码\nyist.gif
     文件     2476375  2020-06-12 15:35  python代码\python数据可视化分析大作业.docx
     文件       20270  2019-12-22 18:17  python代码\stopwords.txt
     目录           0  2020-06-12 15:35  python代码\

评论

共有 条评论