资源简介
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代码\
相关资源
- python实现SGBM图像匹配算法
- python实现灰度直方图均衡化
- scrapy_qunar_one
- Python学习全系列教程永久可用
- python简明教程.chm
- 抽奖大转盘python的图形化界面
- 双边滤波器实验报告及代码python
- python +MYSQL+HTML实现21蛋糕网上商城
- Python-直播答题助手自动检测出题搜索
- OpenCV入门教程+OpenCV官方教程中文版
- Python 串口工具源码+.exe文件
- Python开发的全栈股票系统.zip
- Python操作Excel表格并将其中部分数据写
- python书籍 PDF
- 利用python绘制散点图
- python+labview+No1.vi
- 老男孩python项目实战
- python源码制作whl文件.rar
- python3.5可用的scipy
- PYTHON3 经典50案例.pptx
- 计算机科学导论-python.pdf
- python模拟鼠标点击屏幕
- windows鼠标自动点击py脚本
- 鱼c小甲鱼零基础学python全套课后题和
- Python 练习题100道
- Practical Programming 2nd Edition
- wxPython Application Development Cookbook
- python 3.6
- Python 3.5.2 中文文档 互联网唯一CHM版本
- python3.5.2.chm官方文档
评论
共有 条评论