中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

企業(yè)信用信息公示系統(tǒng)福建谷歌優(yōu)化技巧

企業(yè)信用信息公示系統(tǒng)福建,谷歌優(yōu)化技巧,流行的網(wǎng)站開發(fā)語言,收錄之家繼續(xù),書接上回,這次我通過jsrpc,也學(xué)會了不少逆向的知識,感覺對于一般的網(wǎng)站應(yīng)該都能應(yīng)付了。當(dāng)然我說的是簡單的網(wǎng)站,遇到那些混淆的,還有那種猿人學(xué)里面的題目,還是免談了。那種需要的水平太高…

繼續(xù),書接上回,這次我通過jsrpc,也學(xué)會了不少逆向的知識,感覺對于一般的網(wǎng)站應(yīng)該都能應(yīng)付了。當(dāng)然我說的是簡單的網(wǎng)站,遇到那些混淆的,還有那種猿人學(xué)里面的題目,還是免談了。那種需要的水平太高,我學(xué)習(xí)爬蟲的目的也不是找什么工作,只是為了找數(shù)據(jù),能夠滿足我找數(shù)據(jù)的需要就好。

現(xiàn)在我的初步問題已經(jīng)解決了,原以為可以使用jsrpc一路搜集數(shù)據(jù)??墒沁€是遇到了新的問題。

接下來我想搜集這個網(wǎng)站的志愿服務(wù)項目的數(shù)據(jù)。發(fā)現(xiàn)這個網(wǎng)站的請求類型也比較復(fù)雜,要抓到某一個項目的數(shù)據(jù),需要多次點擊,定位到那個項目,而且進(jìn)入項目的新頁面,好像jsrpc獲得的參數(shù)也是沒什么用的了。

不知道為什么??梢韵瓤匆幌?。

這時,我知道這個query應(yīng)該是也帶bean參數(shù)。

?那么再次截獲它的i值,就可以使用rpc,獲得bean參數(shù)吧,想著時這樣的。

這個query,地址是:/webapi/listProjectsFortisWeb/query

那么我們就找這個請求時的i

?i值有了,可以直接請求了吧。但是結(jié)果令人失望

得到的結(jié)果一直是固定的那么幾個東西。即使換了i,換了參數(shù),也會得到同樣的結(jié)果。我也不太明白為什么??赡苁蔷W(wǎng)站需要經(jīng)過幾次鼠標(biāo)點擊,在點擊的過程中,請求變了,我使用python請求,并沒有抓到他那個真實的請求。

過程太復(fù)雜,我想我也研究不出來,比不了那些搞網(wǎng)站的。所以眼看又進(jìn)入了困境。

這時候,想到了selenim。雖然一直以來都覺得selenium慢的要死。但是沒辦法啊,我會的,能夠用的都用的差不多了,不會的也學(xué)了,學(xué)的也快吐了。不想再繼續(xù)搞下去了,想著selenium慢就慢吧,好歹也是個辦法。

browsermobproxy的使用

說干就干,?但是還有一個問題,就是我怎么能讓senenium返回給我一個json,也就是一個動態(tài)網(wǎng)站返回給我的東西,我怎么截取這個json。selenium一旦渲染出來,就是一個網(wǎng)頁元素了。怎么抓取到服務(wù)器發(fā)給我的json呢。

這時候看到知乎上一個帖子介紹了browsermobproxy。感覺可以用,就試了一下。

確實可以。簡單來說,這個庫就是相當(dāng)于一個python版的fiddler,只不過fiddler是集成在一個軟件里面,python調(diào)用不方便。但是這個庫直接安裝到python里面就可以了。簡單

直接pip install就可以。

然后我也放棄了使用rpc方法,直接使用python模擬鼠標(biāo)點擊。

?簡單粗暴。就是慢點。

直接上代碼,

import json
import os
import requests
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from browsermobproxy import Server
from selenium.webdriver.chrome.options import Options
import timeserver = Server(r'E:\code\codeForArticle2023\sdzyfw2\sdzyfw2.0\browsermob-proxy-2.1.4\bin\browsermob-proxy.bat')
server.start()
proxy = server.create_proxy()
print(proxy.proxy)
proxy.new_har("my_baidu", options={"captureHeaders": True, "captureContent":True})chrome_options = Options()
chrome_options.add_argument('--proxy-server={0}'.format(proxy.proxy))
chrome_options.add_argument('--ignore-certificate-errors')
chrome_options.add_experimental_option("excludeSwitches", ["ignore-certificate-errors"])driver = webdriver.Chrome(executable_path=r'venv/Scripts/chromedriver-win64/chromedriver.exe', options=chrome_options)
driver.get("http://sd.chinavolunteer.mca.gov.cn/subsite/shandong/project")ele = WebDriverWait(driver, 10, 0.2).until(EC.visibility_of_element_located((By.XPATH, u'//div//a[text()="煙臺市"]')), u'沒有發(fā)現(xiàn)內(nèi)容')
item = driver.find_element_by_xpath("//div//a[text()='煙臺市']")
item.click()ele = WebDriverWait(driver, 10, 0.2).until(EC.visibility_of_element_located((By.XPATH, u'//div//a[text()="芝罘區(qū)"]')), u'沒有發(fā)現(xiàn)內(nèi)容')
item2 = driver.find_element_by_xpath("//a[text()='芝罘區(qū)']")
item2.click()ele = WebDriverWait(driver, 10, 0.2).until(EC.visibility_of_element_located((By.XPATH, u'//div//a[text()="已結(jié)項"]')), u'沒有發(fā)現(xiàn)內(nèi)容')
item3 = driver.find_element_by_xpath("//a[text()='已結(jié)項']")
item3.click()try:WebDriverWait(driver, 10).until(EC.presence_of_element_located(By.CSS_SELECTOR, "div.panel-card"))except Exception as e:doNthing = e# ele = WebDriverWait(driver, 10, 0.2).until(EC.visibility_of_element_located((By.XPATH, u'//div//a[text()="已結(jié)項"]')), u'沒有發(fā)現(xiàn)內(nèi)容')
panels = driver.find_elements_by_css_selector(".panel-card")
p1 = panels[0]link = p1.find_element_by_css_selector('h2')
link.click()win_hans = driver.window_handles
driver.switch_to.window(win_hans[-1])shijian  = driver.find_element_by_xpath("//span[text()='時長公示']")
shijian.click()table = driver.find_element_by_xpath("//table[@class='table-list']")
trs = table.find_elements_by_xpath('//tbody//tr')
len(trs)if len(trs) == 13:page = driver.find_element_by_xpath("//a[text()='下一頁']")page.textpage.click()
else:pass# driver.close()result = proxy.harwith open("sdzyfw2/sdzyfw2.0/har_all.json", 'w', encoding='utf-8') as f:f.write(json.dumps(list1, ensure_ascii=False))
# print(str(result))list1 =[]
for rs in result['log']['entries']:if "china" in rs['request']['url']:if "chinavolunteer" in rs['request']['url']:print(rs['request']['url'])# response = rs['response']list1.append(rs)with open("sdzyfw2/sdzyfw2.0/har.json", 'w', encoding='utf-8') as f:f.write(json.dumps(list1, ensure_ascii=False))

代碼也沒怎么整理,大致的意思就是使用selenium呼出瀏覽器,然后在瀏覽器里面一步步找到我想要的東西,最后把這些所有的包存放到一個har里面。后期在篩選har,提取我想要的信息。

發(fā)現(xiàn)這個也是很無敵的,直接免去了反反爬措施。因為就是瀏覽器,除非網(wǎng)站對webdriver有檢測,不然也沒辦法。就老老實實的一個一個爬吧。

http://www.risenshineclean.com/news/38663.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)的基本內(nèi)容免費直鏈平臺
  • 仙桃網(wǎng)站設(shè)計網(wǎng)絡(luò)推廣的工作好做嗎
  • 有的網(wǎng)站打開的是html結(jié)尾的路徑有的不是互聯(lián)網(wǎng)運營推廣公司
  • 廣州中小企業(yè)網(wǎng)站制作seo網(wǎng)站推廣實例
  • 電子商務(wù)網(wǎng)站管理內(nèi)容競價托管推廣公司
  • 網(wǎng)站建設(shè)數(shù)據(jù)庫系統(tǒng)什么都不懂能去干運營嗎
  • 汕頭建設(shè)局網(wǎng)站國家新聞最新消息今天
  • 網(wǎng)站支付平臺是怎么做的什么公司適合做seo優(yōu)化
  • 做網(wǎng)站要怎么備案網(wǎng)站建設(shè)是什么
  • 新華書店的做的數(shù)字閱讀網(wǎng)站51外鏈代發(fā)網(wǎng)
  • 建網(wǎng)站公司用什么網(wǎng)站程序濟(jì)南百度競價開戶
  • 網(wǎng)站制作與網(wǎng)頁設(shè)計seo公司軟件
  • 一站式服務(wù)理念打廣告推廣怎么做
  • 網(wǎng)站開發(fā) 價格差異百度號碼認(rèn)證平臺官網(wǎng)首頁
  • 自己做soho需要做網(wǎng)站嗎長春網(wǎng)站制作公司
  • 網(wǎng)站建設(shè)公司怎么免費自己做推廣
  • 怎么做自己的網(wǎng)站自建一個頁面友情鏈接圖片
  • 貿(mào)易公司寮步網(wǎng)站建設(shè)哪家好怎么做好網(wǎng)站搜索引擎優(yōu)化
  • 廈門服裝商城網(wǎng)站建設(shè)優(yōu)化網(wǎng)站快速排名軟件
  • cpa單頁網(wǎng)站怎么做谷歌手機(jī)版瀏覽器官網(wǎng)
  • php網(wǎng)站開發(fā)是什么嗎廣州百度提升優(yōu)化
  • 鄧州網(wǎng)站制作seo1域名查詢
  • 推廣普通話喜迎二十手抄報seo鏈接優(yōu)化建議
  • 自己這么做網(wǎng)站semir是什么牌子
  • 麻涌公司網(wǎng)站建設(shè)公司百度云電腦網(wǎng)頁版入口
  • 電子商務(wù)網(wǎng)站建設(shè)合同范本外包公司排名
  • 自己在線制作logo免費網(wǎng)站北京seo優(yōu)化廠家
  • 公司網(wǎng)站開發(fā)費用計入什么科目營銷公司
  • vs網(wǎng)站中的輪播怎么做軟文寫作技巧有哪些
  • 圖片1600px做網(wǎng)站武漢網(wǎng)優(yōu)化seo公司