import os
import re
import pymysql
import requests
import random
import urllib.request
from bs4 import BeautifulSoup
from openpyxl import Workbook#获取网页信息
def get_html(url):#设置请求头head={'connection':'keep-alive','user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}#发送请求r = requests.get(url,headers=head)r.encoding='utf-8'return r.text#保存数据
x=1
#清洗数据
datalist =[]
def get_data(data):soup = BeautifulSoup(data,'html.parser')divs = soup.find_all('div', attrs={'class':'limitContent'})for div in divs:a = div.find_all('a',attrs={'target':'_blank'})for li in a:lis = []#创建保存照片的地址if not os.path.isdir('photos'):os.mkdir('photos')global xdizhi = li.find('img')['src']# # 图片保存地址bc = 'photos/' + str(x) + ".jpg"urllib.request.urlretrieve(dizhi,bc)#书名shuming = li.find('div',attrs={'class':'limitDesc'}).text.split('\n')[1]#作者zuzhe = li.find('div',attrs={'class':'limitDesc'}).text.split('\n')[2]#折扣价zhekoujia =li.find('div',attrs={'class':'limitDesc'}).text.split('\n')[4].split('¥')[1]#原价yuanjian = li.find('div',attrs={'class':'limitDesc'}).text.split('\n')[4].split('¥')[2]lis.append(shuming)lis.append(zuzhe)lis.append(zhekoujia)lis.append(yuanjian)lis.append(dizhi)datalist.append(lis)x+=1return datalisturls = 'http://e.dangdang.com/index_page.html'
data = get_html(urls)
get_data(data)
print(datalist)#保存数据
def saveExcel():wbk = Workbook()sheet = wbk.create_sheet('product',0)sheet.cell(1,1).value='书名'sheet.cell(1, 2).value = '作者'sheet.cell(1, 3).value = '折扣价'sheet.cell(1, 4).value = '原价'sheet.cell(1, 5).value = '图片地址'for a in range(len(datalist)):for b in range(len(datalist[a])):sheet.cell(a+2,b+1).value=datalist[a][b]wbk.save('product.xlsx')
saveExcel()#联接数据库
def get_sql():conn=pymysql.connect(host='127.0.0.1',user='root',password='123456',db='product',charset='utf8')return conn#创建表
def createSql():conn = get_sql()#简历游标cur=conn.cursor()#创建表的sql语句sql="create table product(shuming varchar(255),zuozhe varchar(255),zhekou varchar(255),price varchar(255),url varchar(255))default charset=utf8"#执行sql语句cur.execute(sql)#提交conn.commit()
# createSql()def saveSql(data):conn =get_sql()cur = conn.cursor()#执行sql语句cur.executemany("insert into product values(%s, %s, %s, %s, %s)",data)# #提交数据库conn.commit()# #关闭游标和链接conn.close()cur.close()
saveSql(datalist)

python爬取当当图片和信息相关推荐

  1. 在当当买了python怎么下载源代码-Python爬取当当、京东、亚马逊图书信息代码实例...

    注:1.本程序采用MSSQLserver数据库存储,请运行程序前手动修改程序开头处的数据库链接信息 2.需要bs4.requests.pymssql库支持 3.支持多线程 from bs4 impor ...

  2. Python 爬虫第三步 -- 多线程爬虫爬取当当网书籍信息

    XPath 的安装以及使用 1 . XPath 的介绍 刚学过正则表达式,用的正顺手,现在就把正则表达式替换掉,使用 XPath,有人表示这太坑爹了,早知道刚上来就学习 XPath 多省事 啊.其实我 ...

  3. python爬取当当网的书籍信息并保存到csv文件

    python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...

  4. 使用Python爬取网页图片

    使用Python爬取网页图片 李晓文 21 天前 近一段时间在学习如何使用Python进行网络爬虫,越来越觉得Python在处理爬虫问题是非常便捷的,那么接下来我就陆陆续续的将自己学习的爬虫知识分享给 ...

  5. 在当当买了python怎么下载源代码-Python爬取当当网最受欢迎的 500 本书

    想看好书?想知道哪些书比较多人推荐,最好的方式就是看数据,接下来用 Python 爬取当当网五星图书榜 TOP500 的书籍,或许能给我们参考参考! Python爬取目标 爬取当当网前500本受欢迎的 ...

  6. scrapy框架的简单使用——爬取当当网图书信息

    ** Scrapy爬取当当网图书信息实例 --以警察局办案为类比 ** 使用Scrapy进行信息爬取的过程看起来十分的复杂,但是他的操作方式与警局办案十分的相似,那么接下来我们就以故事的形式开始Scr ...

  7. Python爬取网站图片并保存,超级简单

    Python爬取网站图片并保存,超级简单 先看看结果吧,去bilibili上拿到的图片=-= 第一步,导入模块 import requests from bs4 import BeautifulSou ...

  8. Python爬取网站图片数据

    Python爬取网站图片数据 找到需要爬取的网站地址 模拟网站http请求 根据调试模式获取的了解读取到真实的地址url,读取请求头数据和参数信息,模拟http请求调用 import requests ...

  9. python关于二手房的课程论文_基于python爬取链家二手房信息代码示例

    基本环境配置 python 3.6 pycharm requests parsel time 相关模块pip安装即可 确定目标网页数据 哦豁,这个价格..................看到都觉得脑阔 ...

最新文章

  1. effective C++ 读书笔记(11-28)
  2. 解决fitz模块报错
  3. Android 程序启动界面Demo
  4. J2EE看tomcat运行参数和去掉工程名作为请求的根路径
  5. 实施工程师1分钟即时演讲_我是如何在1年内从时装模特转变为软件工程师的
  6. Android硬件访问服务框架思想初识
  7. python 规则引擎 drools_Drools规则引擎入门demo
  8. 线性代数与矩阵论 习题 1.2.1
  9. np.expand_dims
  10. 使用weblogic部署应用
  11. 聊聊最近的几件小事儿
  12. 2.1 ppt 用图形搞定 封面(2)
  13. #天府TV#《什么是成都》爆红背后,还有上千热泪盈眶留言!
  14. 资源(电影、英剧、美剧、日剧、动漫、纪录片)网站
  15. 牛顿法和牛顿下山法求极值的理解
  16. 华大单片机HC32L130 / HC32L136 / HC32F030 系列硬件开发指南
  17. 图形学学习笔记2——点阵图形光栅化
  18. 浙江理工c语言复试试题,2016年浙江理工大学信息学院C语言程序设计复试笔试最后押题五套卷...
  19. 在JAVA中 以下程序_在Java中,以下程序的输出结果是()_学小易找答案
  20. Matlab 基于遗传算法优化的VMD信号去噪算法 创新点:基于样本熵作为适应度函数

热门文章

  1. 【免费赠送源码】Springboot剧本杀交流分享平台1p7vg计算机毕业设计-课程设计-期末作业-毕设程序代做
  2. 计算机应用基础图文混合排版,《Word 2010图文混合排版》教学设计与课后反思
  3. 循环神经网络中梯度爆炸的原因
  4. 在线IEEE浮点二进制计算器工具
  5. 树莓派Pico开发板与大功率MOSFET/IGBT器件驱动控制24V直流电机技术实践
  6. linux的qt下wsadata,Qtcpserver仅在调试器下返回listen函数的未知错误
  7. Js 高德地图SDK
  8. 【软考 系统架构设计师】嵌入式系统⑤ 嵌入式系统开发与设计
  9. 市场调研报告-全球与中国教育互动白板市场现状及未来发展趋势
  10. 欧美剧集观看最佳索引 US SHOWS GUIDE 【2005-12-27 转verycd】