当前位置:   article > 正文

Python爬虫方法三部曲之二-实战训练_爬虫训练

爬虫训练

        前面学习的爬虫的方法,马上利用到实战中,抓取某网站的信息。使用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寒江雪 - 博客园


案例展示:

  1. import requests
  2. import urllib.request
  3. from bs4 import BeautifulSoup
  4. def get_html(url):
  5. headers = {
  6. 'User-Agent': 'Mozilla/5.0(Macintosh; Intel Mac OS X 10_11_4)\
  7. AppleWebKit/537.36(KHTML, like Gecko) Chrome/52 .0.2743. 116 Safari/537.36'
  8. } # 模拟浏览器访问
  9. response = requests.get(url, headers=headers) # 请求访问网站
  10. html = response.text # 获取网页源码
  11. return html # 返回网页源码
  12. 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')
  13. 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库,并设置解析器
  14. text = soup.select('#search_nature_rg > ul.bigimg > li > a ')#只定为到末级,中间不算。
  15. content3 = soup.select('#search_nature_rg > ul > li > div.lable_label > span.new_lable ')#定义自营门店,由于span标签特殊。抓取不到span标签的特殊值。
  16. content = soup.select('#search_nature_rg > ul.bigimg > li > a > img')#定义图片路径
  17. content2 = soup.select('#search_nature_rg > ul.bigimg > li > p.search_star_line > a')#店铺商品评论数
  18. content4 = soup.select('#search_nature_rg > ul > li > p.search_shangjia > a')#店铺名字
  19. price_number1 = soup.select('#search_nature_rg > ul > li.line1 > p.price > span')#图书价格
  20. price_number2 = soup.select('#search_nature_rg > ul > li.line2 >div.ebook_buy>p>span')#图书价格
  21. price_number3 = soup.select('#search_nature_rg > ul > li.line3 >p.price>span')#图书价格,只有销售价格
  22. price_number4 = soup.select('#search_nature_rg > ul > li.line4 > p.price > span')#图书价格
  23. price_number5 = soup.select('#search_nature_rg > ul > li.line5 > p.price > span')#图书价格
  24. price_number6 = soup.select('#search_nature_rg > ul > li.line6 > p.price > span')#图书价格
  25. price_number7 = soup.select('#search_nature_rg > ul > li.line7 > p.price > span')#图书价格
  26. price_number8 = soup.select('#search_nature_rg > ul > li.line8 > p.price > span')#图书价格
  27. price_number9 = soup.select('#search_nature_rg > ul > li.line9 > p.price > span')#图书价格
  28. price_number10 = soup.select('#search_nature_rg > ul > li.line10 > p.price > span')#图书价格
  29. print("抓取商铺的详情页和标题:")
  30. for n in text:
  31. link = n.get('href')
  32. title = n.get('title')
  33. print("图书详情页和标题:",link,title)
  34. print("抓取图片的地址:")
  35. for n in content:
  36. pic = n.get('src')
  37. tag = n.text#抓取标签<a>
  38. print("图片地址:",pic)
  39. print("抓取商品评论数:")
  40. for n in content2:
  41. tag=n.text
  42. if tag == 0:
  43. print("此商店无评论人")
  44. else:
  45. print("评论数:", tag)
  46. print("店铺种类:")
  47. for n in content3:
  48. name=n.text
  49. print (name)
  50. if name == 1:
  51. print("自营店面")#自营店的值抓不到。所以一直呈现私营店面
  52. else:
  53. for i in content4:
  54. name = i.text
  55. print("私营图书:",name)
  56. print("店铺销售价格及折扣:")
  57. a=[]
  58. for n in price_number1:
  59. span=n.text
  60. a.append(span)
  61. print("第1家店铺销售情况:")
  62. print("销售价格:",a[0])
  63. print("原来价格:",a[1])
  64. print("打折比例:",a[2])
  65. b=[]
  66. for n in price_number2:
  67. span=n.text
  68. b.append(span)
  69. print("第2家店铺销售情况:")
  70. print("销售价格:",b[0])
  71. # print("原来价格:",b[1])
  72. # print("打折比例:",b[2])
  73. c=[]
  74. for n in price_number3:
  75. span=n.text
  76. c.append(span)
  77. print("第3家店铺销售情况:")
  78. print("销售价格:",c[0])
  79. print("原来价格:",c[1])
  80. # print("打折比例:",c[2])
  81. d=[]
  82. for n in price_number4:
  83. span=n.text
  84. d.append(span)
  85. print("第4家店铺销售情况:")
  86. print("销售价格:",d[0])
  87. print("原来价格:",d[1])
  88. print("打折比例:",d[2])
  89. e=[]
  90. for n in price_number5:
  91. span=n.text
  92. e.append(span)
  93. print("第5家店铺销售情况:")
  94. print("销售价格:",e[0])
  95. print("原来价格:",e[1])
  96. print("打折比例:",e[2])
  97. f=[]
  98. for n in price_number6:
  99. span=n.text
  100. f.append(span)
  101. print("第6家店铺销售情况:")
  102. print("销售价格:",f[0])
  103. print("原来价格:",f[1])
  104. print("打折比例:",f[2])
  105. g=[]
  106. for n in price_number7:
  107. span=n.text
  108. g.append(span)
  109. print("第7家店铺销售情况:")
  110. print("销售价格:",g[0])
  111. print("原来价格:",g[1])
  112. print("打折比例:",g[2])
  113. h=[]
  114. for n in price_number8:
  115. span=n.text
  116. h.append(span)
  117. print("第8家店铺销售情况:")
  118. print("销售价格:",h[0])
  119. print("原来价格:",h[1])
  120. print("打折比例:",h[2])
  121. i=[]
  122. for n in price_number9:
  123. span=n.text
  124. i.append(span)
  125. print("第9家店铺销售情况:")
  126. print("销售价格:",i[0])
  127. print("原来价格:",i[1])
  128. print("打折比例:",i[2])
  129. j=[]
  130. for n in price_number10:
  131. span=n.text
  132. j.append(span)
  133. print("第10家店铺销售情况:")
  134. print("销售价格:",j[0])
  135. print("原来价格:",j[1])
  136. print("打折比例:",j[2])

结果展示: 

  1. C:\Users\Administrator\Anaconda3\python.exe F:/untitled2_analysis/analysis_test/book_getdata.py
  2. 抓取商铺的详情页和标题:
  3. 图书详情页和标题: //product.dangdang.com/29343617.html 重返狼群背后的故事
  4. 图书详情页和标题: //product.dangdang.com/1901285938.html 重返狼群背后的故事
  5. 图书详情页和标题: //product.dangdang.com/29344138.html 重返狼群背后的故事(当当专享签名本)
  6. 图书详情页和标题: //product.dangdang.com/11055037207.html 重返狼群背后的故事
  7. 图书详情页和标题: //product.dangdang.com/11054207877.html 重返狼群背后的故事 一部“人狼情未了”的旷世传奇,一份难以割舍、恒以在怀的牵挂
  8. 图书详情页和标题: //product.dangdang.com/11094530971.html 重返狼群背后的故事
  9. 图书详情页和标题: //product.dangdang.com/11122830888.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐L
  10. 图书详情页和标题: //product.dangdang.com/11070949156.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐
  11. 图书详情页和标题: //product.dangdang.com/11109201793.html 重返狼群背后的故事
  12. 图书详情页和标题: //product.dangdang.com/11081533840.html 重返狼群背后的故事
  13. 图书详情页和标题: //product.dangdang.com/11086661163.html 重返狼群背后的故事【正版保证】
  14. 图书详情页和标题: //product.dangdang.com/11053921268.html 重返狼群背后的故事
  15. 图书详情页和标题: //product.dangdang.com/11106899051.html 【全新速发】重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐Z
  16. 图书详情页和标题: //product.dangdang.com/11094534101.html 重返狼群背后的故事
  17. 图书详情页和标题: //product.dangdang.com/11109684439.html 重返狼群背后的故事 李微漪红娟/ 9787573002693
  18. 图书详情页和标题: //product.dangdang.com/11080822814.html 重返狼群背后的故事
  19. 图书详情页和标题: //product.dangdang.com/11028514723.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐
  20. 图书详情页和标题: //product.dangdang.com/11118911082.html 【全新】重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐L
  21. 图书详情页和标题: //product.dangdang.com/11052958360.html 重返狼群背后的故事
  22. 图书详情页和标题: //product.dangdang.com/11098533507.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐MM 213 978
  23. 图书详情页和标题: //product.dangdang.com/11093667219.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐
  24. 图书详情页和标题: //product.dangdang.com/11090511769.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐 李微漪 红娟/著
  25. 图书详情页和标题: //product.dangdang.com/11083420138.html 重返狼群背后的故事
  26. 图书详情页和标题: //product.dangdang.com/11081434885.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐
  27. 图书详情页和标题: //product.dangdang.com/11057789612.html 重返狼群背后的故事
  28. 图书详情页和标题: //product.dangdang.com/11062864767.html 重返狼群背后的故事
  29. 图书详情页和标题: //product.dangdang.com/11096513173.html 重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐
  30. 图书详情页和标题: //product.dangdang.com/11052954980.html 重返狼群背后的故事
  31. 图书详情页和标题: //product.dangdang.com/11123839217.html 全新重返狼群背后的故事 一部 人狼情未了 的旷世传奇 一份难以割舍、恒以在怀的牵挂 一段探寻人与自然和谐L
  32. 图书详情页和标题: //product.dangdang.com/11102125424.html 【诺拉图书】正版重返狼群背后的故事
  33. 图书详情页和标题: //product.dangdang.com/11061066098.html 正版书籍 重返狼群背后的故事 一部人狼情未了的旷世传奇 一份难以割舍恒以在怀的牵挂 一段探寻人与自然和谐之道的路径
  34. 图书详情页和标题: //product.dangdang.com/11056613528.html 重返狼群【3册】重返狼群背后的故事+重返狼群:再见格林 (被人类抚养长大的狼,回归自然将面临怎样的命
  35. 图书详情页和标题: //product.dangdang.com/11115153382.html 9787573002693 重返狼群背后的故事 李微漪红娟 著 海南出版社 枫林苑图书专营店 数量:
  36. 图书详情页和标题: //product.dangdang.com/11113675426.html 9787573002693 重返狼群背后的故事 李微漪红娟 著 海南出版社 数量:
  37. 图书详情页和标题: //product.dangdang.com/11125634888.html 重返狼群正版全3册彩绘注音版本任选城市流浪李微漪荒野求生回归家园10-12岁儿童文学动物小说让我陪你千里寻你重返狼群背后
  38. 图书详情页和标题: //product.dangdang.com/11104741576.html 重返狼群背后的故事 李微漪红娟 著 9787573002693 海南出版社【直发】 达额立减 闪电发货 80%城市次日达
  39. 图书详情页和标题: //product.dangdang.com/11094536371.html 重返狼群背后的故事
  40. 图书详情页和标题: //product.dangdang.com/11083419738.html 重返狼群背后的故事
  41. 抓取图片的地址:
  42. 图片地址: //img3m7.ddimg.cn/17/27/29343617-1_b_11.jpg
  43. 图片地址: images/model/guan/url_none.png
  44. 图片地址: images/model/guan/url_none.png
  45. 图片地址: images/model/guan/url_none.png
  46. 图片地址: images/model/guan/url_none.png
  47. 图片地址: images/model/guan/url_none.png
  48. 图片地址: images/model/guan/url_none.png
  49. 图片地址: images/model/guan/url_none.png
  50. 图片地址: images/model/guan/url_none.png
  51. 图片地址: images/model/guan/url_none.png
  52. 图片地址: images/model/guan/url_none.png
  53. 图片地址: images/model/guan/url_none.png
  54. 图片地址: images/model/guan/url_none.png
  55. 图片地址: images/model/guan/url_none.png
  56. 图片地址: images/model/guan/url_none.png
  57. 图片地址: images/model/guan/url_none.png
  58. 图片地址: images/model/guan/url_none.png
  59. 图片地址: images/model/guan/url_none.png
  60. 图片地址: images/model/guan/url_none.png
  61. 图片地址: images/model/guan/url_none.png
  62. 图片地址: images/model/guan/url_none.png
  63. 图片地址: images/model/guan/url_none.png
  64. 图片地址: images/model/guan/url_none.png
  65. 图片地址: images/model/guan/url_none.png
  66. 图片地址: images/model/guan/url_none.png
  67. 图片地址: images/model/guan/url_none.png
  68. 图片地址: images/model/guan/url_none.png
  69. 图片地址: images/model/guan/url_none.png
  70. 图片地址: images/model/guan/url_none.png
  71. 图片地址: images/model/guan/url_none.png
  72. 图片地址: images/model/guan/url_none.png
  73. 图片地址: images/model/guan/url_none.png
  74. 图片地址: images/model/guan/url_none.png
  75. 图片地址: images/model/guan/url_none.png
  76. 图片地址: images/model/guan/url_none.png
  77. 图片地址: images/model/guan/url_none.png
  78. 图片地址: images/model/guan/url_none.png
  79. 图片地址: images/model/guan/url_none.png
  80. 抓取商品评论数:
  81. 评论数: 1299条评论
  82. 评论数: 76条评论
  83. 评论数: 1013条评论
  84. 评论数: 1条评论
  85. 评论数: 1条评论
  86. 店铺种类:
  87. 私营图书: 龙飞东方文化图书专营店
  88. 私营图书: 一笔文化图书专营店
  89. 私营图书: 杰尼特文化图书专营店
  90. 私营图书: 昌世永乐图书专营店
  91. 私营图书: 新学图书专营店
  92. 私营图书: 翰林中天图书专营店
  93. 私营图书: 北京永贤图书专营店
  94. 私营图书: 阳光前行图书专营店
  95. 私营图书: 点溪图书专营店
  96. 私营图书: 博雅文化图书专营店
  97. 私营图书: 金楼博阅图书专营店
  98. 私营图书: 红书简图书专营店
  99. 私营图书: 荷露茗图书专营店
  100. 私营图书: 探月文化图书专营店
  101. 私营图书: 建工图书专营店
  102. 私营图书: 超创时代图书专营店
  103. 私营图书: 鼎美文化图书专营店
  104. 私营图书: 古韵书香图书专营店
  105. 私营图书: 聚知图书专营店
  106. 私营图书: 北京金楼博阅图书专营店
  107. 私营图书: 一越图书专营店
  108. 私营图书: 金瑞达图书专营店
  109. 私营图书: 天涯书友图书专营店
  110. 私营图书: 昌盛图书专营店
  111. 私营图书: 逸文图书专营店
  112. 私营图书: 瑞银图书专营店
  113. 私营图书: 诺拉图书专营店
  114. 私营图书: 玉海顺虹图书专营店
  115. 私营图书: 点溪图书专营店
  116. 私营图书: 枫林苑图书专营店
  117. 私营图书: 北京枫林苑图书专营店
  118. 私营图书: 轩然书香图书专营店
  119. 私营图书: 道正图书专营店
  120. 私营图书: 费芸图书专营店
  121. 私营图书: 京齐图书专营店
  122. 私营图书: 龙飞东方文化图书专营店
  123. 私营图书: 一笔文化图书专营店
  124. 私营图书: 杰尼特文化图书专营店
  125. 私营图书: 昌世永乐图书专营店
  126. 私营图书: 新学图书专营店
  127. 私营图书: 翰林中天图书专营店
  128. 私营图书: 北京永贤图书专营店
  129. 私营图书: 阳光前行图书专营店
  130. 私营图书: 点溪图书专营店
  131. 私营图书: 博雅文化图书专营店
  132. 私营图书: 金楼博阅图书专营店
  133. 私营图书: 红书简图书专营店
  134. 私营图书: 荷露茗图书专营店
  135. 私营图书: 探月文化图书专营店
  136. 私营图书: 建工图书专营店
  137. 私营图书: 超创时代图书专营店
  138. 私营图书: 鼎美文化图书专营店
  139. 私营图书: 古韵书香图书专营店
  140. 私营图书: 聚知图书专营店
  141. 私营图书: 北京金楼博阅图书专营店
  142. 私营图书: 一越图书专营店
  143. 私营图书: 金瑞达图书专营店
  144. 私营图书: 天涯书友图书专营店
  145. 私营图书: 昌盛图书专营店
  146. 私营图书: 逸文图书专营店
  147. 私营图书: 瑞银图书专营店
  148. 私营图书: 诺拉图书专营店
  149. 私营图书: 玉海顺虹图书专营店
  150. 私营图书: 点溪图书专营店
  151. 私营图书: 枫林苑图书专营店
  152. 私营图书: 北京枫林苑图书专营店
  153. 私营图书: 轩然书香图书专营店
  154. 私营图书: 道正图书专营店
  155. 私营图书: 费芸图书专营店
  156. 私营图书: 京齐图书专营店
  157. 私营图书: 龙飞东方文化图书专营店
  158. 私营图书: 一笔文化图书专营店
  159. 私营图书: 杰尼特文化图书专营店
  160. 私营图书: 昌世永乐图书专营店
  161. 私营图书: 新学图书专营店
  162. 私营图书: 翰林中天图书专营店
  163. 私营图书: 北京永贤图书专营店
  164. 私营图书: 阳光前行图书专营店
  165. 私营图书: 点溪图书专营店
  166. 私营图书: 博雅文化图书专营店
  167. 私营图书: 金楼博阅图书专营店
  168. 私营图书: 红书简图书专营店
  169. 私营图书: 荷露茗图书专营店
  170. 私营图书: 探月文化图书专营店
  171. 私营图书: 建工图书专营店
  172. 私营图书: 超创时代图书专营店
  173. 私营图书: 鼎美文化图书专营店
  174. 私营图书: 古韵书香图书专营店
  175. 私营图书: 聚知图书专营店
  176. 私营图书: 北京金楼博阅图书专营店
  177. 私营图书: 一越图书专营店
  178. 私营图书: 金瑞达图书专营店
  179. 私营图书: 天涯书友图书专营店
  180. 私营图书: 昌盛图书专营店
  181. 私营图书: 逸文图书专营店
  182. 私营图书: 瑞银图书专营店
  183. 私营图书: 诺拉图书专营店
  184. 私营图书: 玉海顺虹图书专营店
  185. 私营图书: 点溪图书专营店
  186. 私营图书: 枫林苑图书专营店
  187. 私营图书: 北京枫林苑图书专营店
  188. 私营图书: 轩然书香图书专营店
  189. 私营图书: 道正图书专营店
  190. 私营图书: 费芸图书专营店
  191. 私营图书: 京齐图书专营店
  192. 店铺销售价格及折扣:
  193. 1家店铺销售情况:
  194. 销售价格: ¥21.60
  195. 原来价格: ¥48.00
  196. 打折比例:  (4.5折)
  197. 2家店铺销售情况:
  198. 销售价格: ¥21.50
  199. 3家店铺销售情况:
  200. 销售价格: ¥21.60
  201. 原来价格: ¥48.00
  202. 4家店铺销售情况:
  203. 销售价格: ¥36.00
  204. 原来价格: ¥48.00
  205. 打折比例:  (7.5折)
  206. 5家店铺销售情况:
  207. 销售价格: ¥33.10
  208. 原来价格: ¥48.00
  209. 打折比例:  (6.9折)
  210. 6家店铺销售情况:
  211. 销售价格: ¥45.60
  212. 原来价格: ¥48.00
  213. 打折比例:  (9.5折)
  214. 7家店铺销售情况:
  215. 销售价格: ¥37.00
  216. 原来价格: ¥48.00
  217. 打折比例:  (7.71折)
  218. 8家店铺销售情况:
  219. 销售价格: ¥45.54
  220. 原来价格: ¥48.00
  221. 打折比例:  (9.49折)
  222. 9家店铺销售情况:
  223. 销售价格: ¥26.00
  224. 原来价格: ¥47.65
  225. 打折比例:  (5.46折)
  226. 10家店铺销售情况:
  227. 销售价格: ¥29.12
  228. 原来价格: ¥48.00
  229. 打折比例:  (6.07折)
  230. Process finished with exit code 0

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/485978
推荐阅读
相关标签
  

闽ICP备14008679号