「駕馭requsets html「 夜爬tom資訊

2021-10-19 07:16:49 字數 3560 閱讀 9456

近來,一直在潛心鑽研大神新開發的requests_html,體會她的同步與非同步的差別以及對動態載入的虐殺.讓我找到了一庫爬遍天下的快感.同時,作為乙個自學的菜鳥,為自己的這點點進步很是沾沾自喜,今晚上我又拿tom資訊練了把手.重點想把requests_html綜合的網頁解析部分拿來與大家共享.
獲取元素

request-html支援css選擇器和xpath兩種語法來選取html元素。首先先來看看css選擇器語法,它需要使用html的find函式,該函式有5個引數,作用如下:

selector,要用的css選擇器;

clean,布林值,如果為真會忽略html中style和script標籤造成的影響(原文是sanitize,大概這麼理解);

containing,如果設定該屬性,會返回包含該屬性文字的標籤;

first,布林值,如果為真會返回第乙個元素,否則會返回滿足條件的元素列表;

_encoding,編碼格式。

下面是幾個簡單例子:# 首頁選單文字

print(r.html.find(『div#menu』, first=true).text)

#首頁選單元素

print(r.html.find(『div#menu a』))

#段子內容print(list(map(lambda x: x.text, r.html.find(『div.content span』))))

在網頁其他單字段解析中,相信大家一看就會,但對於多段落的文字部分的精確解析著實讓人抓狂.今天我用map(lambda x: x.text,r.html.find(『***x』 ))表示式在解析網頁中徹底解決了list中[, , , , , , ]的文字提取.希望這部分能幫助其他朋友解決爬取文字中遇到的問題.

import logging

from requests_html import asynchtmlsession

from fake_useragent import useragent

import random

import json

from pymongo import mongoclient

asession = asynchtmlsession(

)ua = useragent(

)client = mongoclient(host=

'localhost'

, port=

27017

)db = client.root

url =

''headers =

url1 =

'json/show1372.json?s=1612594258268'

#**制定日誌檔案**

'儲存成功'

,task)

else

: logging.error(

'儲存失敗'

,task)

except exception as e:

logging.error(e)

asession.run(main)

通過這個小例子,我學會了日誌呼叫,mongodb的儲存/呼叫.等知識點.要知道對於我這個自學者來說,這些東西真是來之不易啊,這是我網上查資料,聽公開課不斷練習索取得的.我會繼續學習python的相關知識的.

讀《駕馭光線》

1,等待 早晚吃飯時間的光最美。所以要耐心等待。一天內不同的時間 不同的雲量 還可以是人工光 日本 家谷崎潤的書 陰翳禮讚 更少的光線 如第7頁的泰北夜豐頌府的 更少的光線。等待也需要計畫。2,追逐 什麼角度的光或景最美,要走遍四周,那怕是高山。圖案光 146頁 樹葉 窗戶 百葉窗都會產生非常美好的...

駕馭大資料

資料庫儲存與管理 更多關於 駕馭大資料 內容簡介 書籍計算機書籍 駕馭大數 為讀者提供了處理大資料和在你的企業中培養一種創新和發現的文化所需的工具 過程和方法,描繪了乙個易於實施的行動計畫,以幫助你的企業發現新的商業機會,實現新的業務流程,並做出更明智的決策。駕馭大數 主要介紹了如何駕馭大資料浪潮,...

平安夜狂歡夜

平安夜狂歡夜 晚上與哥們去狂歡,費了好大的周折,才找到乙個迪吧,莛苑迪吧或者是野豹,據說是龍華最大的了,感覺比關內的魔方還好吧,哥們不會蹦,嘿嘿,第一次,都這樣,看我玩得瘋,他也慢慢地搖起來,到了十一點半左右,dj說裝置出了點問題,要暫停了,我有點納悶,接著就聽台上人說要搞乙個什麼活動,消防演習,神...