赞
踩
前面学习的爬虫的方法,马上利用到实战中,抓取某网站的信息。使用bs、request的方法进行数据的抓取。主要分享一些实战的经验和总结,此文章抓取数据用于分享。(注意不要乱爬取数据用于商业用途谋私,遵纪守法向来是我们应当守则义务。)
一、首先request的方法和BeautifulSoup的方法架构必须熟悉,方法也懂基本的使用。
二、代码的架构是先定义一个函数,在函数里面传送抓取的网站的url,使用requests方法抓取到网站内部的信息,获取网站的源码。如果感兴趣的同学可以打印去html的参数,看看源码的架构和数据。
三、使用bs中select方法抓取网站源码节点的数据、bs中Select的方法要熟悉。
四、用遍历的for循环抓取每个节点的标签,比如p、a、span的标签属性下面的数值。
(如果有人知道的话,可以告诉我为什么<span class="new_lable1">****</span> ==$0 ,****的值抓不出来,试了正则和bs方法都不行。我果断放弃了。)
注意:抓取的源码可能会时时变化,使用select的方法抓取源码数据时,记得打印出来查看是否含有数据,如果没有,则需要调整代码架构。有几次前一天可以抓取到数据源码,但是隔一天就不行了。
五、增加分隔符和文字,将整个代码结果展现好一些。(后期有时间和精力在将数据存入数据库或者使用panda、scipy来做表格。)
谢谢关注。
参考文献:Python网络爬虫入门篇 - z寒江雪 - 博客园
案例展示:
- import requests
- import urllib.request
- from bs4 import BeautifulSoup
-
- def get_html(url):
- headers = {
- 'User-Agent': 'Mozilla/5.0(Macintosh; Intel Mac OS X 10_11_4)\
- AppleWebKit/537.36(KHTML, like Gecko) Chrome/52 .0.2743. 116 Safari/537.36'
-
- } # 模拟浏览器访问
- response = requests.get(url, headers=headers) # 请求访问网站
- html = response.text # 获取网页源码
- return html # 返回网页源码
-
- get_html('http://search.dangdang.com/?key=%D6%D8%B7%B5%C0%C7%C8%BA%B1%B3%BA%F3%B5%C4%B9%CA%CA%C2&act=input')
- soup = BeautifulSoup(get_html('http://search.dangdang.com/?key=%D6%D8%B7%B5%C0%C7%C8%BA%B1%B3%BA%F3%B5%C4%B9%CA%CA%C2&act=input'), 'lxml') # 初始化BeautifulSoup库,并设置解析器
- text = soup.select('#search_nature_rg > ul.bigimg > li > a ')#只定为到末级,中间不算。
- content3 = soup.select('#search_nature_rg > ul > li > div.lable_label > span.new_lable ')#定义自营门店,由于span标签特殊。抓取不到span标签的特殊值。
- content = soup.select('#search_nature_rg > ul.bigimg > li > a > img')#定义图片路径
- content2 = soup.select('#search_nature_rg > ul.bigimg > li > p.search_star_line > a')#店铺商品评论数
- content4 = soup.select('#search_nature_rg > ul > li > p.search_shangjia > a')#店铺名字
- price_number1 = soup.select('#search_nature_rg > ul > li.line1 > p.price > span')#图书价格
- price_number2 = soup.select('#search_nature_rg > ul > li.line2 >div.ebook_buy>p>span')#图书价格
- price_number3 = soup.select('#search_nature_rg > ul > li.line3 >p.price>span')#图书价格,只有销售价格
- price_number4 = soup.select('#search_nature_rg > ul > li.line4 > p.price > span')#图书价格
- price_number5 = soup.select('#search_nature_rg > ul > li.line5 > p.price > span')#图书价格
- price_number6 = soup.select('#search_nature_rg > ul > li.line6 > p.price > span')#图书价格
- price_number7 = soup.select('#search_nature_rg > ul > li.line7 > p.price > span')#图书价格
- price_number8 = soup.select('#search_nature_rg > ul > li.line8 > p.price > span')#图书价格
- price_number9 = soup.select('#search_nature_rg > ul > li.line9 > p.price > span')#图书价格
- price_number10 = soup.select('#search_nature_rg > ul > li.line10 > p.price > span')#图书价格
-
-
-
-
- print("抓取商铺的详情页和标题:")
- for n in text:
- link = n.get('href')
- title = n.get('title')
- print("图书详情页和标题:",link,title)
-
-
- print("抓取图片的地址:")
- for n in content:
- pic = n.get('src')
- tag = n.text#抓取标签<a>
- print("图片地址:",pic)
-
- print("抓取商品评论数:")
- for n in content2:
- tag=n.text
- if tag == 0:
- print("此商店无评论人")
- else:
- print("评论数:", tag)
-
- print("店铺种类:")
- for n in content3:
- name=n.text
- print (name)
- if name == 1:
- print("自营店面")#自营店的值抓不到。所以一直呈现私营店面
- else:
- for i in content4:
- name = i.text
- print("私营图书:",name)
-
- print("店铺销售价格及折扣:")
- a=[]
- for n in price_number1:
- span=n.text
- a.append(span)
- print("第1家店铺销售情况:")
- print("销售价格:",a[0])
- print("原来价格:",a[1])
- print("打折比例:",a[2])
-
- b=[]
- for n in price_number2:
- span=n.text
- b.append(span)
- print("第2家店铺销售情况:")
- print("销售价格:",b[0])
- # print("原来价格:",b[1])
- # print("打折比例:",b[2])
-
- c=[]
- for n in price_number3:
- span=n.text
- c.append(span)
- print("第3家店铺销售情况:")
- print("销售价格:",c[0])
- print("原来价格:",c[1])
- # print("打折比例:",c[2])
-
- d=[]
- for n in price_number4:
- span=n.text
- d.append(span)
- print("第4家店铺销售情况:")
- print("销售价格:",d[0])
- print("原来价格:",d[1])
- print("打折比例:",d[2])
-
- e=[]
- for n in price_number5:
- span=n.text
- e.append(span)
- print("第5家店铺销售情况:")
- print("销售价格:",e[0])
- print("原来价格:",e[1])
- print("打折比例:",e[2])
-
- f=[]
- for n in price_number6:
- span=n.text
- f.append(span)
- print("第6家店铺销售情况:")
- print("销售价格:",f[0])
- print("原来价格:",f[1])
- print("打折比例:",f[2])
-
- g=[]
- for n in price_number7:
- span=n.text
- g.append(span)
- print("第7家店铺销售情况:")
- print("销售价格:",g[0])
- print("原来价格:",g[1])
- print("打折比例:",g[2])
-
- h=[]
- for n in price_number8:
- span=n.text
- h.append(span)
- print("第8家店铺销售情况:")
- print("销售价格:",h[0])
- print("原来价格:",h[1])
- print("打折比例:",h[2])
-
- i=[]
- for n in price_number9:
- span=n.text
- i.append(span)
- print("第9家店铺销售情况:")
- print("销售价格:",i[0])
- print("原来价格:",i[1])
- print("打折比例:",i[2])
-
- j=[]
- for n in price_number10:
- span=n.text
- j.append(span)
- print("第10家店铺销售情况:")
- print("销售价格:",j[0])
- print("原来价格:",j[1])
- print("打折比例:",j[2])
结果展示:
- C:\Users\Administrator\Anaconda3\python.exe F:/untitled2_analysis/analysis_test/book_getdata.py
- 抓取商铺的详情页和标题:
- 图书详情页和标题: //product.dangdang.com/29343617.html 重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/1901285938.html 重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/29344138.html 重返狼群背后的故事(当当专享签名本)
- 图书详情页和标题: //product.dangdang.com/11055037207.html 重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/11054207877.html 重返狼群背后的故事 一部“人狼情未了”的旷世传奇,一份难以割舍、恒以在怀的牵挂
- 图书详情页和标题: //product.dangdang.com/11094530971.html 重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/11122830888.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐L
- 图书详情页和标题: //product.dangdang.com/11070949156.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐
- 图书详情页和标题: //product.dangdang.com/11109201793.html 重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/11081533840.html 重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/11086661163.html 重返狼群背后的故事【正版保证】
- 图书详情页和标题: //product.dangdang.com/11053921268.html 重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/11106899051.html 【全新速发】重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐Z
- 图书详情页和标题: //product.dangdang.com/11094534101.html 重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/11109684439.html 重返狼群背后的故事 李微漪红娟/ 9787573002693
- 图书详情页和标题: //product.dangdang.com/11080822814.html 重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/11028514723.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐
- 图书详情页和标题: //product.dangdang.com/11118911082.html 【全新】重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐L
- 图书详情页和标题: //product.dangdang.com/11052958360.html 重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/11098533507.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐MM 213 978
- 图书详情页和标题: //product.dangdang.com/11093667219.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐
- 图书详情页和标题: //product.dangdang.com/11090511769.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐 李微漪 红娟/著
- 图书详情页和标题: //product.dangdang.com/11083420138.html 重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/11081434885.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐
- 图书详情页和标题: //product.dangdang.com/11057789612.html 重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/11062864767.html 重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/11096513173.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐
- 图书详情页和标题: //product.dangdang.com/11052954980.html 重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/11123839217.html 全新重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐L
- 图书详情页和标题: //product.dangdang.com/11102125424.html 【诺拉图书】正版重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/11061066098.html 正版书籍 重返狼群背后的故事 一部人狼情未了的旷世传奇 一份难以割舍恒以在怀的牵挂 一段探寻人与自然和谐之道的路径
- 图书详情页和标题: //product.dangdang.com/11056613528.html 重返狼群【3册】重返狼群背后的故事+重返狼群:再见格林 (被人类抚养长大的狼,回归自然将面临怎样的命
- 图书详情页和标题: //product.dangdang.com/11115153382.html 9787573002693 重返狼群背后的故事 李微漪红娟 著 海南出版社 枫林苑图书专营店 数量:
- 图书详情页和标题: //product.dangdang.com/11113675426.html 9787573002693 重返狼群背后的故事 李微漪红娟 著 海南出版社 数量:
- 图书详情页和标题: //product.dangdang.com/11125634888.html 重返狼群正版全3册彩绘注音版本任选城市流浪李微漪荒野求生回归家园10-12岁儿童文学动物小说让我陪你千里寻你重返狼群背后
- 图书详情页和标题: //product.dangdang.com/11104741576.html 重返狼群背后的故事 李微漪红娟 著 9787573002693 海南出版社【直发】 达额立减 闪电发货 80%城市次日达
- 图书详情页和标题: //product.dangdang.com/11094536371.html 重返狼群背后的故事
- 图书详情页和标题: //product.dangdang.com/11083419738.html 重返狼群背后的故事
- 抓取图片的地址:
- 图片地址: //img3m7.ddimg.cn/17/27/29343617-1_b_11.jpg
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 图片地址: images/model/guan/url_none.png
- 抓取商品评论数:
- 评论数: 1299条评论
- 评论数: 76条评论
- 评论数: 1013条评论
- 评论数: 1条评论
- 评论数: 1条评论
- 店铺种类:
-
- 私营图书: 龙飞东方文化图书专营店
- 私营图书: 一笔文化图书专营店
- 私营图书: 杰尼特文化图书专营店
- 私营图书: 昌世永乐图书专营店
- 私营图书: 新学图书专营店
- 私营图书: 翰林中天图书专营店
- 私营图书: 北京永贤图书专营店
- 私营图书: 阳光前行图书专营店
- 私营图书: 点溪图书专营店
- 私营图书: 博雅文化图书专营店
- 私营图书: 金楼博阅图书专营店
- 私营图书: 红书简图书专营店
- 私营图书: 荷露茗图书专营店
- 私营图书: 探月文化图书专营店
- 私营图书: 建工图书专营店
- 私营图书: 超创时代图书专营店
- 私营图书: 鼎美文化图书专营店
- 私营图书: 古韵书香图书专营店
- 私营图书: 聚知图书专营店
- 私营图书: 北京金楼博阅图书专营店
- 私营图书: 一越图书专营店
- 私营图书: 金瑞达图书专营店
- 私营图书: 天涯书友图书专营店
- 私营图书: 昌盛图书专营店
- 私营图书: 逸文图书专营店
- 私营图书: 瑞银图书专营店
- 私营图书: 诺拉图书专营店
- 私营图书: 玉海顺虹图书专营店
- 私营图书: 点溪图书专营店
- 私营图书: 枫林苑图书专营店
- 私营图书: 北京枫林苑图书专营店
- 私营图书: 轩然书香图书专营店
- 私营图书: 道正图书专营店
- 私营图书: 费芸图书专营店
- 私营图书: 京齐图书专营店
-
- 私营图书: 龙飞东方文化图书专营店
- 私营图书: 一笔文化图书专营店
- 私营图书: 杰尼特文化图书专营店
- 私营图书: 昌世永乐图书专营店
- 私营图书: 新学图书专营店
- 私营图书: 翰林中天图书专营店
- 私营图书: 北京永贤图书专营店
- 私营图书: 阳光前行图书专营店
- 私营图书: 点溪图书专营店
- 私营图书: 博雅文化图书专营店
- 私营图书: 金楼博阅图书专营店
- 私营图书: 红书简图书专营店
- 私营图书: 荷露茗图书专营店
- 私营图书: 探月文化图书专营店
- 私营图书: 建工图书专营店
- 私营图书: 超创时代图书专营店
- 私营图书: 鼎美文化图书专营店
- 私营图书: 古韵书香图书专营店
- 私营图书: 聚知图书专营店
- 私营图书: 北京金楼博阅图书专营店
- 私营图书: 一越图书专营店
- 私营图书: 金瑞达图书专营店
- 私营图书: 天涯书友图书专营店
- 私营图书: 昌盛图书专营店
- 私营图书: 逸文图书专营店
- 私营图书: 瑞银图书专营店
- 私营图书: 诺拉图书专营店
- 私营图书: 玉海顺虹图书专营店
- 私营图书: 点溪图书专营店
- 私营图书: 枫林苑图书专营店
- 私营图书: 北京枫林苑图书专营店
- 私营图书: 轩然书香图书专营店
- 私营图书: 道正图书专营店
- 私营图书: 费芸图书专营店
- 私营图书: 京齐图书专营店
-
- 私营图书: 龙飞东方文化图书专营店
- 私营图书: 一笔文化图书专营店
- 私营图书: 杰尼特文化图书专营店
- 私营图书: 昌世永乐图书专营店
- 私营图书: 新学图书专营店
- 私营图书: 翰林中天图书专营店
- 私营图书: 北京永贤图书专营店
- 私营图书: 阳光前行图书专营店
- 私营图书: 点溪图书专营店
- 私营图书: 博雅文化图书专营店
- 私营图书: 金楼博阅图书专营店
- 私营图书: 红书简图书专营店
- 私营图书: 荷露茗图书专营店
- 私营图书: 探月文化图书专营店
- 私营图书: 建工图书专营店
- 私营图书: 超创时代图书专营店
- 私营图书: 鼎美文化图书专营店
- 私营图书: 古韵书香图书专营店
- 私营图书: 聚知图书专营店
- 私营图书: 北京金楼博阅图书专营店
- 私营图书: 一越图书专营店
- 私营图书: 金瑞达图书专营店
- 私营图书: 天涯书友图书专营店
- 私营图书: 昌盛图书专营店
- 私营图书: 逸文图书专营店
- 私营图书: 瑞银图书专营店
- 私营图书: 诺拉图书专营店
- 私营图书: 玉海顺虹图书专营店
- 私营图书: 点溪图书专营店
- 私营图书: 枫林苑图书专营店
- 私营图书: 北京枫林苑图书专营店
- 私营图书: 轩然书香图书专营店
- 私营图书: 道正图书专营店
- 私营图书: 费芸图书专营店
- 私营图书: 京齐图书专营店
- 店铺销售价格及折扣:
- 第1家店铺销售情况:
- 销售价格: ¥21.60
- 原来价格: ¥48.00
- 打折比例: (4.5折)
- 第2家店铺销售情况:
- 销售价格: ¥21.50
- 第3家店铺销售情况:
- 销售价格: ¥21.60
- 原来价格: ¥48.00
- 第4家店铺销售情况:
- 销售价格: ¥36.00
- 原来价格: ¥48.00
- 打折比例: (7.5折)
- 第5家店铺销售情况:
- 销售价格: ¥33.10
- 原来价格: ¥48.00
- 打折比例: (6.9折)
- 第6家店铺销售情况:
- 销售价格: ¥45.60
- 原来价格: ¥48.00
- 打折比例: (9.5折)
- 第7家店铺销售情况:
- 销售价格: ¥37.00
- 原来价格: ¥48.00
- 打折比例: (7.71折)
- 第8家店铺销售情况:
- 销售价格: ¥45.54
- 原来价格: ¥48.00
- 打折比例: (9.49折)
- 第9家店铺销售情况:
- 销售价格: ¥26.00
- 原来价格: ¥47.65
- 打折比例: (5.46折)
- 第10家店铺销售情况:
- 销售价格: ¥29.12
- 原来价格: ¥48.00
- 打折比例: (6.07折)
-
- Process finished with exit code 0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。