python爬虫图片、操作excel

  最近闲着看了潭州教育的在线直播课程,颇受老师讲课实用有感。只作为自己笔记学习,我们都知道学习一门编程都是先照抄,在创作。这里完全按照老师讲解,照抄作为学习。

一、Python抓取豆瓣妹子图。

  工具:python3.6.0;bs4.6.0;xlwt(1.2.0)需要版本对应,之前就安装了bs4但是运行的时候提示版本不对应。可以在线升级:pip install update buautifulsoup4

  1.pip list,可以查看本地安装。

  python爬虫图片、操作excel

立即学习“Python免费学习笔记(深入)”;

  1.爬取豆瓣妹子图,知道其地址,url = ”。

  2.查看网页源代码,F12,network,随便找个左边捕捉的网页信息,找到User-agent,目的主要是为了模仿浏览器登录,防止反爬虫

python爬虫图片、操作excel

找到element元素。我们要的是img标签,中的图片信息,src连接下载地址。

python爬虫图片、操作excel

 

按照老师写所有代码

 1 import urllib 2 import urllib.request 3 from bs4 import BeautifulSoup 4 url = '' 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')#获取src20         print(link)21         global x#全局变量22         # 6.下载 urlretrieve23         urllib.request.urlretrieve(link,'image%s.jpg'%x)#下载,urlretrieve(需要下载的,路径)24         x+=125         print('正在下载第%s张'%x)26 #7.多页27 for page in range(1,10):#range本身自动生成整数序列,爬取多页图片。28     #page+=129     url='{}'.format(page)#30     #url = 'http://www.dbmeinv.com/?pager_offset=%d' % page31     crawl(url)32 33 print('图片下载完毕')

登录后复制

最终运行结果, 图片保存在image文件夹下。

python爬虫图片、操作excel

 

二、抓取大众点评,导入excel。赵本宣言老师源码。

import requestsfrom bs4 import BeautifulSoupimport xlwtdef get_content(url,headers=None,proxy=None):    html=requests.get(url,headers=headers).contentreturn htmldef 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').textprint(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=''base_url=''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:xlwgnewTable='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=1lens=len(items)for j in range(0,lens):for i in range(0,8):            ws.write(index,i,items[j][i])        index +=1wb.save(newTable)

登录后复制

以上就是python爬虫图片、操作excel的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2269746.html

(0)
上一篇 2025年2月27日 11:22:07
下一篇 2025年2月19日 14:07:56

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 爬虫问题解决的相关问题

      继续上一篇文章的内容,上一篇文章中已经将url管理器和下载器写好了。接下来就是url解析器,总的来说这个模块是几个模块中比较难的。因为通过下载器下载完页面之后,我们虽然得到了页面,但是这并不是我们想要的结果。而且由于页面的代码很多,我们…

    2025年2月27日
    200
  • 在Python中用Request库模拟登录的实例教程

    如此简单(不安全)的登录表单已经不多见了。字幕库的登录表单如下所示,其中省去了无关紧要的内容: 1 2 3 4 5 6 登 陆7 登录后复制 通过抓包分析,可以发现用户名和密码都没有被加密: 直接使用POST来模拟登录: 1 import …

    2025年2月27日
    200
  • Python_安装官方whl包和tar.gz包

    windows环境:   安装whl包:pip install wheel    ->    pip install  **.whl   安装tar.gz包:cd到解压后路径,python setup.py install Linux…

    编程技术 2025年2月27日
    200
  • 分享python snownlp的实例教程

    snownlp是国人开发的python类库,可以方便的处理中文文本内容,是受到了textblob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和textblob不同的是,这里没有用nlt…

    2025年2月27日
    200
  • Python字符串的操作方法

    1. 字符串长度 #strlen(str)       # 字符串长度函数名str= ‘apples’              # 把字符串 “apples” 赋值给变量 strprint …

    编程技术 2025年2月27日
    200
  • Python是什么?Python如何使用?

    Python简介  python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。  …

    2025年2月27日 编程技术
    200
  • 分享关于python中的题目实例

    题目一: 请使在3秒内计算出一组的数据,偶数在奇数前(注意不使用for while等循环的方法)格式如下1,2,3,4,5,6,7,8,9,10输出结果是2,1,4,3,6,5,8,7,10,9 解决思路:既然不能用for与while去写循…

    2025年2月27日
    200
  • python之调度器的用法

      继续上一篇文章的内容,上一篇文章中,将爬虫调度器已经写好了,调度器是整个爬虫程序的“大脑”,也可以称之为指挥中心。而现在,我们要做的就是去将调度器中用到的其他组件写好。首先是url管理器,它既然作为管理器,那么它一定要区分待爬取的url…

    编程技术 2025年2月27日
    200
  • Python中选择排序的实例详解

    选择排序:   选择排序(selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。…

    编程技术 2025年2月27日
    200
  • python学习—–类的封装、继承,多态

    封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。   1 class dog(object): …

    2025年2月27日 编程技术
    200

发表回复

登录后才能评论