当前位置:   article > 正文

爬虫数据简单处理和分析(旅游篇)_旅游数据爬虫

旅游数据爬虫
  1. 先要明确分析目的和流程,才能清楚知道需要哪些数据,所以先列出思维导图大纲。
  2. 有了目标之后,确定了实现流程,既通过python爬虫方式从去哪儿网获取旅游攻略信息,并将爬下来的数据储存到DataFrame中,通过pandas进行数据分析,得出简单概述,最后将数据源存储本地excel文件,并通过power bi 制作看板进行发布共享以供敏捷交互探索。
  3. 接下来是实现操作:
    1. 获取数据的过程:通过python获取服务器响应,并通过BS选择CSS结构语言解析网页结构实现内容提取,中途出现部分网页无响应问题,通过自动多次循环执行解决。
      1. import requests
      2. from bs4 import BeautifulSoup
      3. import time
      4. import pandas as pd
      5. import random
      6. # 准备工作,提前建好DataFrame,方便存储数据
      7. count = 1
      8. random_number = random.randint(10,20)
      9. df = pd.DataFrame(columns = ['序号','攻略链接','简评','地点','出发时间','出游天数','人均花销','同行人','游玩方式'])
      10. # 有些字段网页信息不全,为防止爬虫报错,做报错预处理
      11. def arrs(x):
      12. try:
      13. return x.select('div.user_info h1 span.title')[0].get_text(strip=True)
      14. except:
      15. return '缺失内容'
      16. def titles(x):
      17. try:
      18. return x.select('.b_crumb_cont a')[1].get_text(strip=True)
      19. except:
      20. return '缺失内容'
      21. def whns(x):
      22. try:
      23. return x.select('.when p span.data')[0].get_text(strip=True)
      24. except:
      25. return 0
      26. def longs(x):
      27. try:
      28. return x.select('.howlong p span.data')[0].get_text(strip=True)
      29. except:
      30. return 0
      31. def moneys(x):
      32. try:
      33. return x.select('.howmuch p span.data')[0].get_text(strip=True)
      34. except:
      35. return 0
      36. def whos(x):
      37. try:
      38. return x.select('.who p span.data')[0].get_text(strip=True)
      39. except:
      40. return '缺失内容'
      41. def hows(x):
      42. try:
      43. return x.select('.how p span.data')[0].get_text(strip=True)
      44. except:
      45. return '缺失内容'
      46. # 开始获取数据,并使用BS进行解析,解析语言选择CSS
      47. for i in range(1,201,):
      48. # 获取响应
      49. url = f"https://travel.qunar.com/travelbook/list.htm?page={i}&order=hot_heat"
      50. headers = {
      51. "user-Agent":"https://www.qunar.com/',headers='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"
      52. }
      53. response =
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号