婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Python爬蟲(chóng)實(shí)戰(zhàn)之用selenium爬取某旅游網(wǎng)站

Python爬蟲(chóng)實(shí)戰(zhàn)之用selenium爬取某旅游網(wǎng)站

熱門(mén)標(biāo)簽:孝感營(yíng)銷電話機(jī)器人效果怎么樣 地圖標(biāo)注自己和別人標(biāo)注區(qū)別 騰訊地圖標(biāo)注沒(méi)法顯示 打電話機(jī)器人營(yíng)銷 海外網(wǎng)吧地圖標(biāo)注注冊(cè) 南陽(yáng)打電話機(jī)器人 商家地圖標(biāo)注海報(bào) ai電銷機(jī)器人的優(yōu)勢(shì) 聊城語(yǔ)音外呼系統(tǒng)

一、selenium實(shí)戰(zhàn)

這里我們只會(huì)用到很少的selenium語(yǔ)法,我這里就不補(bǔ)充別的用法了,以實(shí)戰(zhàn)為目的

二、打開(kāi)藝龍網(wǎng)

可以直接點(diǎn)擊這里進(jìn)入:藝龍網(wǎng)

這里是主頁(yè)

三、精確目標(biāo)

我們的目標(biāo)是,鶴壁市,所以我們應(yīng)該先點(diǎn)擊搜索框,然后把北京刪掉,替換成鶴壁市,那么怎么通過(guò)selenium實(shí)現(xiàn)呢?
打開(kāi)pycharm,新建一個(gè)叫做藝龍網(wǎng)的py文件,先導(dǎo)包:

from selenium import webdriver 
import time   # 導(dǎo)包
driver = webdriver.Chrome()  # 創(chuàng)建一個(gè)selenium的對(duì)象
driver.get("http://www.elong.com/")  
time.sleep(1)  # 打開(kāi)網(wǎng)站,并讓它睡1s,避免渲染未完成就進(jìn)行下一步操作
driver.maximize_window()  # 將瀏覽器最大化

怎么找到搜索框呢,有很多方法,xpath,css,JavaScript,jQuery,,,因?yàn)閤path簡(jiǎn)單,所以我們只使用xpath,因?yàn)檫@個(gè)網(wǎng)站也是可以用xpath的,具體步驟是:

1.F12,小箭頭,點(diǎn)擊搜索框

2.點(diǎn)擊后,找到元素中的位置,右鍵,復(fù)制,復(fù)制xpath

3.進(jìn)入pycharm中,在之前創(chuàng)建的py文件中添加如下代碼

driver.find_element_by_xpath('//*[@id="domesticDiv"]/dl[1]/dd/input').clear()
# 將搜索框中的內(nèi)容清理

4.在搜索框添加“鶴壁市”

driver.find_element_by_xpath('//*[@id="domesticDiv"]/dl[1]/dd/input').send_keys('鶴壁市')

5.點(diǎn)擊搜索,進(jìn)入下一頁(yè)

time.sleep(1)
driver.find_element_by_xpath('//*[@id="hotel_sub_tabs"]/span[1]/b').click()  # 點(diǎn)擊無(wú)關(guān)
time.sleep(1) # 避免渲染不及時(shí)導(dǎo)致報(bào)錯(cuò)
driver.find_element_by_xpath('//*[@id="domesticDiv"]/div/span[1]').click()  # 點(diǎn)擊搜索

6.下一頁(yè)
此時(shí)我們絕望的發(fā)現(xiàn),這些操作都是沒(méi)用的(對(duì)這個(gè)網(wǎng)站沒(méi)用,但是至少我們學(xué)到了點(diǎn)知識(shí)?)她還是北京

 

所以我們只能這樣做了
直接點(diǎn)擊搜索,進(jìn)入這個(gè)頁(yè)面后再輸入鶴壁(那干嘛不直接訪問(wèn)這個(gè)網(wǎng)頁(yè)呢?為了我這該死的儀式感!!)這樣做,再那樣做,就行了

from selenium import webdriver
import time   # 導(dǎo)包
driver = webdriver.Chrome()  # 創(chuàng)建一個(gè)selenium的對(duì)象
driver.get("http://www.elong.com/")
time.sleep(1)  # 打開(kāi)網(wǎng)站,并讓它睡1s,避免渲染未完成就進(jìn)行下一步操作
driver.maximize_window()  # 將瀏覽器最大化
driver.find_element_by_xpath('//*[@id="domesticDiv"]/div/span[1]').click()  # 點(diǎn)擊搜索
driver.find_element_by_xpath('//*[@id="m_searchBox"]/div[1]/label/input').clear()  # 清空搜索框內(nèi)容
driver.find_element_by_xpath('//*[@id="m_searchBox"]/div[1]/label/input').send_keys('鶴壁市')  # 在搜索框輸入 鶴壁市
time.sleep(1)
driver.find_element_by_xpath('//*[@id="sugContent"]/ul/li[1]/div/div[1]/div[1]/span/b').click()  # 鶴壁市
time.sleep(1)
# 只是改變了順序,并更換了xpath語(yǔ)法

然后就成功的定位到了鶴壁市

8.分析網(wǎng)頁(yè),找到詳情頁(yè)的url
我們可以這樣做

我們發(fā)現(xiàn),這個(gè)詳情頁(yè)每個(gè)的xpath都不相同,怎么做到把所有詳情頁(yè)都“照顧”得到呢?看來(lái)只能請(qǐng)出我們的requests來(lái)了,然后我們發(fā)現(xiàn),這個(gè)只是一段URL,那怎么辦?拼接咯!

9.通過(guò)查看響應(yīng),我們知道響應(yīng)和元素是一樣的,那么說(shuō)明什么?我們可以通過(guò)xpath提取到我們的元素,直接請(qǐng)出我們的xpath選手。

from lxml import etree
import re
html_data = driver.page_source  # 將數(shù)據(jù)存入html_data
ht = ht_ht.xpath('//div[@class="to_detail"]/a/@data-link')  # 提取到url的后半段

10.拼接字符串形成新URL

點(diǎn)進(jìn)去一個(gè)詳情頁(yè)查看URL,發(fā)現(xiàn)是這樣的

研究發(fā)現(xiàn),將?issugtrace=2刪去也可以運(yùn)行,而我們通過(guò)xpath取到的正是后面的 /31712004/,所以:

for ur in ht:
    new_ul = 'http://www.elong.com' + ur

11.取到詳情頁(yè)URL后,就要點(diǎn)進(jìn)去,然后再分析網(wǎng)頁(yè),再提取數(shù)據(jù),然后存數(shù)據(jù),找xpath的我就先不說(shuō)了,也不難。

head = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36'
}
for ur in ht:
    new_ul = 'http://www.elong.com' + ur
    xiangqing_ht = requests.get(new_ul, headers=head).content.decode()  			
    # 使用requests
	time.sleep(1)  # 睡1s
    ht_data = etree.HTML(xiangqing_ht) # 轉(zhuǎn)為可使用xpath的HTML格式
    tingche = ht_data.xpath('//*[@id="hotelContent"]/div/dl[4]/dd/text()')  # 停車(chē)位
            if tingche == []:
                tingche = '無(wú)停車(chē)位'
            name = ht_data.xpath('/html/body/div[3]/div/div[1]/div[1]/div/h1/text()')[0]  # 酒店名字
            phine_num = ht_data.xpath('//*[@id="hotelContent"]/div/dl[1]/dd/span/text()')  # 電話
            photo_li = ht_data.xpath('/html/body/div[3]/div/div[2]/div[1]/div[2]/ul[1]/li/img/@src')  # 照片
            weizhi = ht_data.xpath('//*[@id="map"]/div[1]/div[2]/div[1]/div/div[9]/div[2]/div/p[2]/text()')  # 位置
            miaoshu = ht_data.xpath('//*[@id="hotelContent"]/div/dl[1]/dd/ul/li[2]/div/p/span[1]/text()')

然后我們就拿到了數(shù)據(jù),接下來(lái),這些數(shù)據(jù)怎么保存呢?可以使用字典保存到j(luò)son中。我就接著上面的寫(xiě)了

dic = {} # 使用字典進(jìn)行json存儲(chǔ)
ic[f"{name}"] = {}
dic[f"{name}"][f"{name}停車(chē)場(chǎng)"] = tingche
dic[f"{name}"][f"{name}電話"] = phine_num
dic[f"{name}"][f"{name}位置"] = weizhi
dic[f"{name}"][f"{name}描述"] = miaoshu
path = f"酒店數(shù)據(jù)//{name}"
if not os.path.exists(path):
    os.mkdir(path)
# 創(chuàng)建酒店文件夾
for num, photo in zip(range(len(photo_li)), photo_li):
    if num > 4:
        break
    else:
        with open(f'酒店數(shù)據(jù)//{name}//{name, num + 1}.jpg', 'wb') as f:
            f.write(requests.get(photo).content)  # 將照片存進(jìn)本地
with open(f"酒店數(shù)據(jù)//{name}//酒店數(shù)據(jù).json", 'w') as f:
      f.write(str(dic))  # 將json存入文件
dic = {}  # 將字典內(nèi)的數(shù)據(jù)清楚,留待下一次循環(huán)使用

12.數(shù)據(jù)拿到之后,還沒(méi)完,我們還要爬下一頁(yè),首先需要把主頁(yè)滑倒最底部

for i in range(4):  # 0 1
     time.sleep(0.5)
     j = (i + 1) * 1000  # 1000 2000
     js_ = f'document.documentElement.scrollTop={j}'
     driver.execute_script(js_)
     time.sleep(5)

13.回到主頁(yè)面,找到下一頁(yè)的xpath,點(diǎn)擊

driver.find_element_by_xpath('//*[@id="pageContainer"]/a[9]').click()

然后,我們就進(jìn)入了 下一頁(yè),然后下面就沒(méi)有代碼了,怎么辦,怎么讓代碼一直運(yùn)行將很多頁(yè)的數(shù)據(jù)爬下來(lái)呢?有兩種方法:

封裝函數(shù),并發(fā)爬取使用循環(huán)進(jìn)行爬取

然后,就沒(méi)有然后了…

四、成功

成功拿到數(shù)據(jù)

結(jié)語(yǔ)

希望大家能夠通過(guò)實(shí)戰(zhàn)了解各種語(yǔ)法的功能,而不是死記硬背各種語(yǔ)法,那樣你很容易忘記,其實(shí)很多學(xué)習(xí)都可以通過(guò)這種方式來(lái)學(xué)習(xí)

到此這篇關(guān)于Python爬蟲(chóng)實(shí)戰(zhàn)之用selenium爬取某旅游網(wǎng)站的文章就介紹到這了,更多相關(guān)Python selenium爬取網(wǎng)站內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解Python 爬取13個(gè)旅游城市,告訴你五一大家最愛(ài)去哪玩?
  • Python爬蟲(chóng)入門(mén)案例之爬取二手房源數(shù)據(jù)
  • Python爬蟲(chóng)入門(mén)案例之回車(chē)桌面壁紙網(wǎng)美女圖片采集
  • Python爬蟲(chóng)實(shí)戰(zhàn)之批量下載快手平臺(tái)視頻數(shù)據(jù)
  • Python爬蟲(chóng)入門(mén)案例之爬取去哪兒旅游景點(diǎn)攻略以及可視化分析

標(biāo)簽:聊城 六盤(pán)水 南寧 迪慶 揚(yáng)州 牡丹江 楊凌 撫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python爬蟲(chóng)實(shí)戰(zhàn)之用selenium爬取某旅游網(wǎng)站》,本文關(guān)鍵詞  Python,爬蟲(chóng),實(shí)戰(zhàn),之用,selenium,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python爬蟲(chóng)實(shí)戰(zhàn)之用selenium爬取某旅游網(wǎng)站》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Python爬蟲(chóng)實(shí)戰(zhàn)之用selenium爬取某旅游網(wǎng)站的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲高清视频的网址| 91蝌蚪porny九色| 国产成人精品影院| www.性欧美| 91精品黄色片免费大全| 精品久久久久久久久久久久包黑料 | 91麻豆精品国产自产在线观看一区 | 亚洲尤物在线视频观看| 日韩电影在线免费| 成人性生交大片免费看视频在线 | 精品一区二区三区免费毛片爱| 国产呦精品一区二区三区网站| 成人国产精品免费观看| 在线播放中文一区| 国产日韩亚洲欧美综合| 亚洲国产日韩一级| 国产91富婆露脸刺激对白| 欧美在线免费视屏| 久久综合九色综合97婷婷女人| 国产精品久久久久久福利一牛影视 | 国产揄拍国内精品对白| 国产成人av资源| 欧美视频一二三区| 国产精品网站导航| 日韩精品1区2区3区| 成人午夜精品一区二区三区| 在线免费av一区| 国产精品色噜噜| 黑人巨大精品欧美黑白配亚洲| 欧美羞羞免费网站| 中文字幕一区二区三区在线播放| 麻豆高清免费国产一区| 91成人在线免费观看| 国产精品剧情在线亚洲| 国产一区二区中文字幕| 欧美一区二区三区小说| 亚洲精品成a人| 成人动漫一区二区| 国产午夜精品一区二区三区四区| 肉丝袜脚交视频一区二区| 日本韩国一区二区| 国产精品久久久久久户外露出 | 五月激情六月综合| 在线观看网站黄不卡| 国产精品久久久久久妇女6080 | 国产在线视视频有精品| 日韩欧美在线不卡| 亚洲码国产岛国毛片在线| 成人午夜激情在线| 国产亚洲欧美日韩在线一区| 青青草伊人久久| 欧美一区二区在线免费播放| 亚洲成人综合视频| 91久久精品日日躁夜夜躁欧美| 久久精品欧美日韩精品| 日韩电影一区二区三区四区| 欧美人伦禁忌dvd放荡欲情| 亚洲午夜av在线| 欧美日韩一区二区三区在线| 亚洲成人av福利| 在线综合+亚洲+欧美中文字幕| 婷婷国产v国产偷v亚洲高清| 91精品国产综合久久精品app| 日韩av成人高清| 日韩免费视频线观看| 国产自产v一区二区三区c| 精品久久国产老人久久综合| 精品写真视频在线观看| 欧美国产日韩亚洲一区| av毛片久久久久**hd| 一区二区在线观看视频在线观看| 色婷婷综合久久久久中文| 亚洲丰满少妇videoshd| 欧美一区二区三区小说| 国产九色sp调教91| 国产欧美日韩精品一区| 精品在线免费观看| 日韩免费电影网站| 成人免费看的视频| 亚洲综合在线免费观看| 欧美一区二区视频免费观看| 国产99久久久精品| 亚洲精品写真福利| 欧美一区二区三区免费| 国产成人亚洲综合a∨猫咪| 亚洲精品自拍动漫在线| 91精品国产综合久久精品app| 国产乱码精品一品二品| 一区二区三区在线视频免费| 欧美日韩美女一区二区| 处破女av一区二区| 日本午夜精品一区二区三区电影| 久久蜜臀精品av| 欧美三级视频在线播放| 韩国女主播一区| 一区二区久久久| 国产亚洲一区二区在线观看| 91豆麻精品91久久久久久| 国产乱人伦偷精品视频不卡| 伊人婷婷欧美激情| 中文字幕免费一区| 欧美日韩国产欧美日美国产精品| 韩国视频一区二区| 亚洲综合偷拍欧美一区色| 精品电影一区二区| 欧美日韩综合一区| 国产成人av电影在线观看| 免费观看一级特黄欧美大片| 亚洲国产成人av网| 中文字幕一区二区三区不卡在线 | 国产午夜精品美女毛片视频| 欧美四级电影在线观看| gogogo免费视频观看亚洲一| 另类的小说在线视频另类成人小视频在线 | 一本大道久久a久久综合| 国产一区二三区| 亚洲影视在线播放| 久久久久国产精品麻豆ai换脸| 欧美午夜精品一区二区三区| 岛国一区二区在线观看| 国产精品亚洲综合一区在线观看| 婷婷六月综合亚洲| 国产日韩欧美一区二区三区乱码 | 成人精品免费看| 久久成人综合网| 青娱乐精品在线视频| 亚洲成人高清在线| 亚洲视频在线一区| 国产精品久久久久9999吃药| 国产精品入口麻豆九色| 久久亚洲春色中文字幕久久久| 欧美调教femdomvk| 欧美男人的天堂一二区| 欧美日韩成人一区| 欧美妇女性影城| 欧美日韩一区国产| 欧美一区二区三区啪啪| 日韩一区二区视频| 欧美大片免费久久精品三p| 日韩片之四级片| 精品国产第一区二区三区观看体验| 日韩久久久久久| 精品精品欲导航| 久久亚洲二区三区| 国产精品久久久久久久久快鸭| 国产偷国产偷亚洲高清人白洁| 国产欧美一区二区三区在线老狼| 国产嫩草影院久久久久| 亚洲人成精品久久久久久 | 亚洲一二三区在线观看| 夜夜嗨av一区二区三区| 日韩不卡手机在线v区| 久久疯狂做爰流白浆xx| 成人免费黄色在线| 色婷婷综合久久久中文字幕| 欧美精品亚洲二区| 337p日本欧洲亚洲大胆色噜噜| 日本一区二区视频在线| 中文字幕一区av| 日本中文在线一区| 国产精品一区二区91| 99久久精品免费观看| 欧美另类videos死尸| 精品电影一区二区| 一区二区三区四区五区视频在线观看| 国产欧美精品一区二区色综合朱莉| 精品国产一二三| 日韩理论片网站| 中文字幕永久在线不卡| 香蕉久久一区二区不卡无毒影院| 国产精品亚洲第一区在线暖暖韩国| 99精品欧美一区二区三区综合在线| 欧美另类变人与禽xxxxx| 欧美韩国日本不卡| 午夜久久久久久久久久一区二区| 国产盗摄一区二区三区| 欧美日韩亚洲综合| 中文字幕 久热精品 视频在线| 亚洲国产综合人成综合网站| 一区二区三区在线视频观看58| 麻豆国产欧美日韩综合精品二区| 欧美在线你懂的| 夜夜精品视频一区二区| av亚洲精华国产精华精华| 国产偷v国产偷v亚洲高清| 久久电影网站中文字幕| 日韩亚洲电影在线| 日韩在线观看一区二区| 欧美精品第1页| 亚洲国产成人av| 欧美日韩亚洲综合一区二区三区| 一个色综合av| 欧美视频精品在线| 一区二区三区电影在线播| 色婷婷久久99综合精品jk白丝| 国产精品乱人伦一区二区| 成人高清视频在线观看| 亚洲视频狠狠干| 日本韩国一区二区| 丝袜诱惑制服诱惑色一区在线观看|