#https://baijiahao.baidu.com/s?id=1765315733362358476&wfr=spider&for=pcfrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport pyechartsfrom pyecharts.charts import Geofrom pyecharts import options as opt #调用图形的选项sfrom pyecharts import options as opt #调用图形的选项import requestsimport timeimport osweb = webdriver.Chrome(executable_path=r'C:\Program Files\Google\Chrome\Application\chromedriver.exe')web.get('https://baijiahao.baidu.com/s?id=1765315733362358476&wfr=spider&for=pc')trip_len =web.find_elements(By.XPATH,'//*[@id="ssr-content"]/div[2]/div/div[1]/div[2]/div[1]/div')travel_name_people = []print(len(trip_len))#13调数据(0,11)for i in range(1,12): if i ==9:#内蒙古 travel = web.find_element(By.XPATH,f'//*[@id="ssr-content"]/div[2]/div/div[1]/div[2]/div[1]/div[{i}]/p[2]').text[0:3] #人流量 tour = web.find_element(By.XPATH, f'//*[@id="ssr-content"]/div[2]/div/div[1]/div[2]/div[1]/div[{i}]').text.split('游客')[1].split('人次')[0] elif i ==7:#济南 travel = web.find_element(By.XPATH,f'//*[@id="ssr-content"]/div[2]/div/div[1]/div[2]/div[1]/div[{i}]/p[2]').text[0:2].replace('济南','山东') # 人流量 tour = web.find_element(By.XPATH, f'//*[@id="ssr-content"]/div[2]/div/div[1]/div[2]/div[1]/div[{i}]').text.split('游客')[1].split('人次')[0] elif i==2: travel = web.find_element(By.XPATH,f'//*[@id="ssr-content"]/div[2]/div/div[1]/div[2]/div[1]/div[{i}]/p[2]').text[0:2] # 人流量 tour = web.find_element(By.XPATH, f'//*[@id="ssr-content"]/div[2]/div/div[1]/div[2]/div[1]/div[{i}]').text.split('人数')[1].split('人次')[0] elif i==8:#北京 福建 travel = web.find_element(By.XPATH, f'//*[@id="ssr-content"]/div[2]/div/div[1]/div[2]/div[1]/div[{i}]/p[2]').text[0:2] # 人流量 tour = web.find_element(By.XPATH,f'//*[@id="ssr-content"]/div[2]/div/div[1]/div[2]/div[1]/div[{i}]').text.split('人数')[1].split('人次')[0] elif i==10:#江西没有数据pass pass elif i==4: travel = web.find_element(By.XPATH,f'//*[@id="ssr-content"]/div[2]/div/div[1]/div[2]/div[1]/div[4]/p[2]').text[0:2] tour = web.find_element(By.XPATH, f'//*[@id="ssr-content"]/div[2]/div/div[1]/div[2]/div[1]/div[4]').text.split('游客')[1].split('人次')[0] elif i==11: travel = web.find_element(By.XPATH, f'//*[@id="ssr-content"]/div[2]/div/div[1]/div[2]/div[1]/div[11]/p[2]').text[0:2] tour = web.find_element(By.XPATH, f'//*[@id="ssr-content"]/div[2]/div/div[1]/div[2]/div[1]/div[11]').text.split('游客')[1].split('人次')[0] else:#其他1、3、5、6、10、11、12 travel = web.find_element(By.XPATH, f'//*[@id="ssr-content"]/div[2]/div/div[1]/div[2]/div[1]/div[{i}]/p[2]').text[0:2] tour = web.find_element(By.XPATH, f'//*[@id="ssr-content"]/div[2]/div/div[1]/div[2]/div[1]/div[{i}]').text.split('游客')[1].split('人次')[0] all = (str(travel),tour) travel_name_people.append(all)print(travel_name_people)geo_hot =( Geo() .add_schema(maptype='china') .add('省份的旅游人流量',travel_name_people,type_='heatmap') .set_global_opts(visualmap_opts=opt.VisualMapOpts(type_='color',max_='33')) .render('省份的旅游人流量.html')
【无标题】
最新推荐文章于 2024-11-05 15:28:12 发布
该代码示例展示了如何利用Selenium库在Python中打开Chrome浏览器,抓取网页上的中国各省份旅游数据,并通过PyEcharts库将这些数据渲染为热力地图。主要涉及的数据包括旅游人数和省份名称,最终生成的可视化结果保存为省份的旅游人流量.html文件。
摘要由CSDN通过智能技术生成