第一次写,python爬虫图片,操作excel。
第一次写博客,其实老早就注册博客园了,有写博客的想法,就是没有行动,总是学了忘,忘了丢,最后啥都没有,电脑里零零散散,东找找,西看看,今天认识到写博客的重要性。
最近闲着看了潭州教育的在线直播课程,颇受老师讲课实用有感。只作为自己笔记学习,我们都知道学习一门编程都是先照抄,在创作。这里完全按照老师讲解,照抄作为学习。
一、Python抓取豆瓣妹子图。
工具:python3.6.0;bs4.6.0;xlwt(1.2.0)需要版本对应,之前就安装了bs4但是运行的时候提示版本不对应。可以在线升级:pip install update buautifulsoup4
1.pip list,可以查看本地安装。
1.爬取豆瓣妹子图,知道其地址,url = 'http://www.dbmeinv.com/?pager_offset=1'。
2.查看网页源代码,F12,network,随便找个左边捕捉的网页信息,找到User-agent,目的主要是为了模仿浏览器登录,防止反爬虫。
找到element元素。我们要的是img标签,中的图片信息,src连接下载地址。
按照老师写所有代码
1 import urllib
2 import urllib.request
3 from bs4 import BeautifulSoup
4 url = 'http://www.dbmeinv.com/?pager_offset=1'
5 x=0
6 #获取源码
7 #自定义函数
8 #User-Agent模拟浏览器进行访问,反爬虫
9 def crawl(url):
10 headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3088.3 Safari/537.36'}
11 req=urllib.request.Request(url,headers=headers)#创建对象
12 page=urllib.request.urlopen(req,timeout=20)#设置超时
13 contents=page.read()#获取源码
14 #print (contents.decode())
15 soup = BeautifulSoup(contents,'html.parser')#html.parser主要是解析网页的一种形式。
16 my_girl=soup.find_all('img')#找到所有img标签
17 # 5.获取图片
18 for girl in my_girl:#遍历
19 link=girl.get('src')#获取src
20 print(link)
21 global x#全局变量
22 # 6.下载 urlretrieve
23 urllib.request.urlretrieve(link,'image\%s.jpg'%x)#下载,urlretrieve(需要下载的,路径)
24 x+=1
25 print('正在下载第%s张'%x)
26 #7.多页
27 for page in range(1,10):#range本身自动生成整数序列,爬取多页图片。
28 #page+=1
29 url='http://www.dbmeinv.com/?pager_offset={}'.format(page)#
30 #url = 'http://www.dbmeinv.com/?pager_offset=%d' % page
31 crawl(url)
32
33 print('图片下载完毕')
最终运行结果, 图片保存在image文件夹下。
二、抓取大众点评,导入excel。赵本宣言老师源码。
import requests
from bs4 import BeautifulSoup
import xlwt
def get_content(url,headers=None,proxy=None):
html=requests.get(url,headers=headers).content
return html def get_url(html):
soup = BeautifulSoup(html,'html.parser')
shop_url_list=soup.find_all('div',class_='tit')#class在Python是关键字,
# 列表推导式
return [i.find('a')['href'] for i in shop_url_list] #商品的详细信息,名字,评论,人均
def get_detail_content(html):
soup=BeautifulSoup(html,'html.parser')
price=soup.find('span',id='avgPriceTitle').text
evaluation=soup.find('span',id='comment_score').find_all('span',class_='item')#find_all是有多个,这里三个
#for i in evaluation:
# print(i.text)
the_star=soup.find('div',class_='brief-info').find('span')['title']
title=soup.find('div',class_='breadcrumb').find('span').text
comments=soup.find('span',id='reviewCount').text
address=soup.find('span',itemprop='street-address').text
print(u'店名:'+title)
for i in evaluation:
print(i.text)
print(price)
print(u'评论数量:'+comments)
print(u'地址:'+address.strip())
print(u'评价星级:'+the_star)
print('================')
return (title,evaluation[0].text,evaluation[1].text,evaluation[2].text,price,comments,address,the_star) if __name__=='__main__':
items=[]
start_url='https://www.dianping.com/search/category/344/10/'
base_url='https://www.dianping.com'
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3088.3 Safari/537.36',
'Cookie':'_hc.v=461407bd-5a08-f3fa-742e-681a434748bf.1496365678; __utma=1.1522471392.1496365678.1496365678.1496365678.1; __utmc=1; __utmz=1.1496365678.1.1.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; PHOENIX_ID=0a0102b7-15c6659b548-25fc89; s_ViewType=10; JSESSIONID=E815A43E028078AFA73AF08D9C9E4A15; aburl=1; cy=344; cye=changsha; __mta=147134984.1496365814252.1496383356849.1496383925586.4'
} start_html=get_content(start_url)
#一页
# url_list=get_url(start_html)
#多页
url_list = [base_url + url for url in get_url(start_html)]
for i in url_list:
detail_html=get_content(i,headers=headers)
item=get_detail_content(detail_html)
items.append(item) #写excel,txt差别,Excel:xlwg
newTable='DZDP.xls'
wb=xlwt.Workbook(encoding='utf-8')
ws=wb.add_sheet('test1')
headData=['商户名字','口味评分','环境评分','服务评分','人均价格','评论数量','地址','商户评价']
for colnum in range(0,8):
ws.write(0,colnum,headData[colnum],xlwt.easyxf('font:bold on'))
index=1
lens=len(items)
for j in range(0,lens):
for i in range(0,8):
ws.write(index,i,items[j][i])
index +=1
wb.save(newTable)
很喜欢锁女神老师,忘老师的用心讲解,收获很多,虽然有些地方还不是很懂,但通过不断的学习,养成写博客的习惯,相信会快速提升。
第一次写,python爬虫图片,操作excel。的更多相关文章
- 第一次写python爬虫
花了4天终于把写完了把国内的几个漏洞平台爬完了,第一次写py,之前一直都在说学习,然后这周任务是把国内的漏洞信息爬取一下.花了1天学PY,剩下的1天一个.期间学习到了很多.总结如下: ======== ...
- 转 Python - openpyxl 读写操作Excel
Python - openpyxl 读写操作Excel openpyxl特点 openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间 ...
- 零基础教你写python爬虫
大家都知道python经常被用来做爬虫,用来在互联网上抓取我们需要的信息. 使用Python做爬虫,需要用到一些包: requests urllib BeautifulSoup 等等,关于python ...
- python用openpyxl操作excel
python操作excel方法 1)自身有Win32 COM操作office但讲不清楚,可能不支持夸平台,linux是否能用不清楚,其他有专业处理模块,如下 2)xlrd:(读excel)表,xlrd ...
- 零基础写python爬虫之使用Scrapy框架编写爬虫
网络爬虫,是在网上进行数据抓取的程序,使用它能够抓取特定网页的HTML数据.虽然我们利用一些库开发一个爬虫程序,但是使用框架可以大大提高效率,缩短开发时间.Scrapy是一个使用Python编写的,轻 ...
- Python爬虫入门教程 50-100 Python3爬虫爬取VIP视频-Python爬虫6操作
爬虫背景 原计划继续写一下关于手机APP的爬虫,结果发现夜神模拟器总是卡死,比较懒,不想找原因了,哈哈,所以接着写后面的博客了,从50篇开始要写几篇python爬虫的骚操作,也就是用Python3通过 ...
- 09 python学习笔记-操作excel(九)
python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的.这几个模块可以使用pip安装, ...
- python通过openpyxl操作excel
python 对Excel操作常用的主要有xlwt.xlrd.openpyxl ,前者xlwt主要适合于对后缀为xls比较进行写入,而openpyxl主要是针对于Excel 2007 以上版本进行操作 ...
- Python - openpyxl 读写操作Excel
openpyxl特点 openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间转换容易 注意:如果文字编码是“gb2312” 读取后就会显 ...
- 用python库openpyxl操作excel,从源excel表中提取信息复制到目标excel表中
现代生活中,我们很难不与excel表打交道,excel表有着易学易用的优点,只是当表中数据量很大,我们又需要从其他表册中复制粘贴一些数据(比如身份证号)的时候,我们会越来越倦怠,毕竟我们不是机器,没法 ...
随机推荐
- wpf 样式style封装以及点击按钮打开新窗口
在页面引用: ok~ 点击按钮打开新窗口: 1.点击按钮 点击工具栏的这个小闪电 2.双击click后的灰框或者输入点击事件名称 3.这里是打开window1窗口 ok~
- KingbaseES R6集群误删除备节点的集群目录恢复方式
一.场景 一主一备环境 主节点:192.168.17.9 备节点:192.168.17.10 故障:备节点安装目录/home/kingbase/cluster备删除 二.恢复方式 1.备节点集群目录备 ...
- ChatGPT强势爆红,背后的技术原理是?一文轻松搞懂!
目录 什么是ChatGPT? OpenAI 背后的原理和发展历程 带来的争议和挑战 尾语 作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功.源码解析.科技故事.项目 ...
- 编程基础与python介绍
思维导图 https://gitee.com/starry-tong/python-data/blob/pyimage/day02.png 1.计算机内部存储数据的原理 2.编程语言的发展史 3.py ...
- Spark Streaming实时计算
spark批处理模式: receiver模式:接收数据流,负责数据的存储维护,缺点:数据维护复杂(可靠性,数据积压等),占用计算资源(core,memory被挤占) direct模式:数据源由三方组件 ...
- linux kali 换源细节
1.打开命令行输入sudo vim /etc/apt/sources.list,并输入密码(也许你进入终端是空白的,也是没有问题的.).这里我们用root身份进去.不然后期会报错. (E45: 're ...
- c# 游戏设计:地图移动
想实现一个小游戏,先做地图移动.步骤记录如下: 1.百度到一张大的迷宫地图,放在项目的debug目录下,备用. 2.创建一个winform项目,不添加任何界面元素. 3.添加数据成员如下: Pictu ...
- WebAPI例子
1.WebApiConfig配置API路由 using System; using System.Collections.Generic; using System.Linq; using Syste ...
- 肖sir___整理 电商详解__拼团活动
电商平台营销活动设计--拼团活动设计 2022-11-29 18:02 拼团是指一定数量的消费者在规定时间内,组织成团,并因人数优势而获取额外优惠或其他利益的一种形式 一.简介 拼团作为一种营销活动, ...
- excel添加下拉列表
2016年数据验证,2010是数据校验