亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久

開(kāi)發(fā)環(huán)境windows7/10python3.5.2模擬人工操作

優(yōu)采云 發(fā)布時(shí)間: 2021-04-24 06:37

  開(kāi)發(fā)環(huán)境windows7/10python3.5.2模擬人工操作

  python爬蟲(chóng)scrapy + Selenium + mysql,抓取微信搜狗,各家銀行開(kāi)具的官方賬戶(hù)文章

  要求

  由于工作需要,公司要求抓取指定微信公眾號文章和各大銀行官方網(wǎng)站發(fā)布的營(yíng)銷(xiāo)信息。也有招標信息。經(jīng)過(guò)調查,我發(fā)現結合使用python的scrapy和硒來(lái)模擬手動(dòng)操作?;艘恍r(shí)間才能完成任務(wù)。這是一條記錄。

  開(kāi)發(fā)環(huán)境

  windows7 / 10

  python 3. 5. 2

  mysql 5. 5

  草率的1. 6

  pycharm2018

  Google Chrome 7 0. 0. 353 8. 110(正式版)(64位)

  安裝

  通常在Windows上安裝python 3. 5. 2。我選擇了官方網(wǎng)站的64位版本。請注意:

  1、添加環(huán)境變量:

  

  圖片

  python所在的目錄:C:\ Users \ user \ AppData \ Local \ Programs \ Python \ Python35;

  pip所在的目錄:C:\ Users \ user \ AppData \ Local \ Programs \ Python \ Python35 \ Scripts;

  分析:將以上兩條路徑添加到環(huán)境變量中。

  

  圖片

  

  圖片

  2、 pycharm安裝。

  使用pycharm作為編輯器,因為它具有強大的導入功能。他的某些導入軟件包對于管理自己導入的第三方軟件包非常方便。

  

  圖片

  

  圖片

  *******************************注意************** * *************

  如果您正在下載和安裝scrapy,則可以在報告Twisted版本錯誤且pip不成功時(shí)手動(dòng)安裝Twisted-1 8. 9. 0-cp35-cp35m-win_amd6 4. whl。

  1)確保您的點(diǎn)子版本是最新的

  2)運行pip安裝路徑\ Twisted-1 8. 7. 0-cp37-cp37m-win_amd6 4. whl

  參考:

  參考:?gohlke / pythonlibs /#twisted

  Twisted-1 8. 7. 0-cp37-cp37m-win_amd6 4. whl我是從上面的鏈接下載的

  3、要使用硒作為模擬手動(dòng)操作的自動(dòng)測試,您需要先下載相應的瀏覽器驅動(dòng)程序

  因為我使用的是Google Chrome瀏覽器,所以我下載的也是Google Chrome瀏覽器驅動(dòng)程序

  參考:

  參考:

  現在您可以正式工作了! (手動(dòng)狗頭)爬行微信搜狗

  

  圖片

  

  圖片

  

  圖片

  由于微信公眾號已發(fā)布到最新文章,因此可以在微信搜狗頁(yè)面上找到指定官方賬號所發(fā)布的最新內容,因此我們的目標非常明確,即可以抓取該微信發(fā)布的最新消息。微信搜狗的官方帳戶(hù)。

  1、確認抓取鏈接

  經(jīng)過(guò)分析,具有爬網(wǎng)的鏈接具有以下特征:

  鏈接組成:官方帳號

  使用scrapy抓取與該鏈接相對應的靜態(tài)內容后,您會(huì )發(fā)現與該鏈接相對應的標記將被重定向到輸入302輸入驗證碼的頁(yè)面,這可能是反挑剔技術(shù)的微信搜狗。 (但是有解決方案)

  

  圖片

  

  圖片

  

  圖片

  這時(shí),我們將使用功能強大的硒作為模擬手動(dòng)點(diǎn)擊的自動(dòng)化測試工具??梢允褂胮ython下載此第三方軟件包。

  直接上傳代碼

  

class SeleniumMiddleware(object):

def __init__(self):

self.cookies_file_path = COOKIES_FILE_PATH

def process_request(self, request, spider):

options = webdriver.ChromeOptions()

# 設置中文

options.add_argument('lang=zh_CN.UTF-8')

#options.add_argument('--headless')

#options.add_argument('--disable-gpu')

#options.add_argument('--remote-debugging-port=9222')

# 更換頭部

options.add_argument('user-agent='+request.headers['User-Agent'].decode(encoding='utf-8'))

browser = webdriver.Chrome(

executable_path=SELENIUM_CHROME_DIRVER_LOCAL_PATH,

chrome_options=options)

wait = WebDriverWait(browser, 15)

browser.get(request.url)

'''設置selenium瀏覽器的cookie'''

with open(self.cookies_file_path, 'r')as f:

listCookie = json.loads(f.read())

time.sleep(1)

browser.delete_all_cookies();

for cookiein listCookie:

browser.add_cookie({

# 'domain': cookie['domain'],

# 'httpOnly': cookie['httpOnly'],

'name': cookie['name'],

# 'path': cookie['path'],

# 'secure': cookie['secure'],

'value': cookie['value'],

# 'expiry': None if 'expiry' not in cookie else cookie['expiry']

})

# browser.close()

browser.get(request.url)

time.sleep(5)

# 根據公眾號查找

gzhDetail = wait.until(EC.element_to_be_clickable(

(By.CSS_SELECTOR, 'ul.news-list2>li:first-child>div.gzh-box2>div.txt-box>p:first-child>a')))

gzhDetail.click()

time.sleep(3)

# 更換到剛點(diǎn)擊開(kāi)的頁(yè)面

newWindowHandler = browser.window_handles[-1]

browser.switch_to.window(newWindowHandler)

#返回頁(yè)面

true_page = browser.page_source

res=HtmlResponse(request.url,body = true_page,encoding ='utf-8',request = request,)

#記錄搜狗微信公眾臨時(shí)生成的gotoLink的地址,注意該地址是微信搜狗經(jīng)常會(huì )切換的地址。

res.meta['wxsgGzhDetailUrl']=browser.current_url

browser.quit()

return res

def process_response(self, request, response, spider):

return CodeMiddleware().process_response(request,response,spider)

  如果成功模擬了手動(dòng)單擊,則不會(huì )跳到302輸入驗證碼,因此無(wú)需使用編碼平臺。成功單擊后,進(jìn)入正式帳戶(hù)發(fā)布文章頁(yè)面。此時(shí),您可以檢索官方帳戶(hù)發(fā)布的文章的標題,簡(jiǎn)介和圖片。 (訪(fǎng)問(wèn)該頁(yè)面時(shí),可以直接引用一個(gè)標簽來(lái)輸入詳細的文章,這意味著(zhù)可以向下檢索特定的文章內容。)

  最后

  我的github:其中有更詳細的代碼。記住要給星星,還有其他例子。本文中的示例位于weixinsougou文件夾中

  備注

  1、解決Windows命令行中找不到的pip命令的方法:

   1)找到安裝python.exe的文件夾

2)添加Script文件夾路徑到環(huán)境變量當中。環(huán)境:C:\Users\user\AppData\Local\Programs\Python\Python35\Scripts

  2、解決了在安裝scrapy時(shí)無(wú)法安裝scrapy的問(wèn)題。當報告扭曲版本錯誤時(shí):

   1)手動(dòng)安裝Twisted-18.9.0-cp35-cp35m-win_amd64.whl文件即可解決

2)運行 pip install 你的路徑\Twisted-18.7.0-cp37-cp37m-win_amd64.whl

  參考:

  參考:?gohlke / pythonlibs /#twisted

  3、該項目使用硒,因此請安裝Google Chrome。以及相應的Google Chrome瀏覽器驅動(dòng)程序。

  參考:

  參考:

0 個(gè)評論

要回復文章請先登錄注冊


官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久