① 想做一個小說搜索的網站 爬蟲想自己寫 大概功能就是通過這個網站能搜索網路上任意小說網站的小說
哦,這個問題啊,網頁的搜索簡單多了,網上例子也很多,看一下google的開源就可以了,鏈接嘛,我也是做搜索引擎的
② 有一個任務,說是用JAVA編程,編一個類似網路爬蟲的東西,可以將網頁上的文字小說提取出來變為txt文檔。
如果單線程來實現,就是一個主程序去爬,不斷遍歷。很簡單的。
如果多線程,就主程序控制多線程去進行遍歷。最好用一個線程池來進行管理,否則會隨著遍歷系統資源消耗過大的。
③ python爬蟲時怎麼找小說id
首先不知道是哪個小說站。
隨便舉例:我網路『小說站』找到第一個17k的小說,隨機打開一本說,拿著我的谷歌瀏覽器,選擇書名右擊檢查:
圖片中畫圈圈的就是書的id,
④ 關於大爬蟲的小說。。。雞皮疙瘩系列
在線閱讀不太可能,看看別人有沒有吧
⑤ python爬取小說,txt文件為什麼是空白的
試試把xpath中的body刪除再運行.
⑥ 請教golang寫一個爬小說的爬蟲
使用net/http包發送post/get請求獲取網頁,分析出小說內容,保存
使用goquery分析出小說內容,保存
⑦ Python爬取筆趣閣小說返回的網頁內容中沒有小說內容
因為這里是動態抄載入的襲內容,而你用普通的方法爬取的網頁只能爬渠道靜態的內容。
所以你需要模模擬正的瀏覽器,而不是僅僅請求這個頁面的內容。
詳細內容可以在網上搜索以下,畢竟這里我也沒法給你詳細解說。
加油!
python 天下第一
⑧ 在用爬蟲爬小說的時候,報錯IndexError: list index out of range
可以換一種爬取方法,我也是剛學,看代碼你應該是想把一本書放在一個txt里,你可以考慮安章節存
⑨ 爬蟲爬取小說網,存儲的資料庫怎麼設置
我覺得沒法爬取。因為服務端沒有注入供爬取的代碼。
⑩ 怎麼用python爬sf輕小說文庫的vip章節小說
你需要先購買vip,不然的話是爬不了的,除非系統有漏洞,記住爬蟲不是萬能的
步驟一:研究該網站
打開登錄頁面
進入以下頁面 「」。你會看到如下圖所示的頁面(執行注銷,以防你已經登錄)
仔細研究那些我們需要提取的詳細信息,以供登錄之用
在這一部分,我們會創建一個字典來保存執行登錄的詳細信息:
1. 右擊 「Username or email」 欄位,選擇「查看元素」。我們將使用 「name」 屬性為 「username」 的輸入框的值。「username」將會是 key 值,我們的用戶名/電子郵箱就是對應的 value 值(在其他的網站上這些 key 值可能是 「email」,「 user_name」,「 login」,等等)。
2. 右擊 「Password」 欄位,選擇「查看元素」。在腳本中我們需要使用 「name」 屬性為 「password」 的輸入框的值。「password」 將是字典的 key 值,我們輸入的密碼將是對應的 value 值(在其他網站key值可能是 「userpassword」,「loginpassword」,「pwd」,等等)。
3. 在源代碼頁面中,查找一個名為 「csrfmiddlewaretoken」 的隱藏輸入標簽。「csrfmiddlewaretoken」 將是 key 值,而對應的 value 值將是這個隱藏的輸入值(在其他網站上這個 value 值可能是一個名為 「csrftoken」,「 authenticationtoken」 的隱藏輸入值)。列如:「」。
最後我們將會得到一個類似這樣的字典:
payload = {
"username": "<USER NAME>",
"password": "<PASSWORD>",
"csrfmiddlewaretoken": "<CSRF_TOKEN>"
}
請記住,這是這個網站的一個具體案例。雖然這個登錄表單很簡單,但其他網站可能需要我們檢查瀏覽器的請求日誌,並找到登錄步驟中應該使用的相關的 key 值和 value 值。
步驟2:執行登錄網站
對於這個腳本,我們只需要導入如下內容:
import requests
from lxml import html
首先,我們要創建 session 對象。這個對象會允許我們保存所有的登錄會話請求。
session_requests = requests.session()
第二,我們要從該網頁上提取在登錄時所使用的 csrf 標記。在這個例子中,我們使用的是 lxml 和 xpath 來提取,我們也可以使用正則表達式或者其他的一些方法來提取這些數據。
login_url = ""
result = session_requests.get(login_url)
tree = html.fromstring(result.text)
authenticity_token = list(set(tree.xpath("//input[@name='csrfmiddlewaretoken']/@value")))[0]
**更多關於xpath 和lxml的信息可以在這里找到。
接下來,我們要執行登錄階段。在這一階段,我們發送一個 POST 請求給登錄的 url。我們使用前面步驟中創建的 payload 作為 data 。也可以為該請求使用一個標題並在該標題中給這個相同的 url 添加一個參照鍵。
result = session_requests.post(
login_url,
data = payload,
headers = dict(referer=login_url)
)
步驟三:爬取內容
現在,我們已經登錄成功了,我們將從 bitbucket dashboard 頁面上執行真正的爬取操作。
url = ''
result = session_requests.get(
url,
headers = dict(referer = url)
)
為了測試以上內容,我們從 bitbucket dashboard 頁面上爬取了項目列表。我們將再次使用 xpath 來查找目標元素,清除新行中的文本和空格並列印出結果。如果一切都運行 OK,輸出結果應該是你 bitbucket 賬戶中的 buckets / project 列表。
Python
1
2
3
4
5
tree = html.fromstring(result.content)
bucket_elems = tree.findall(".//span[@class='repo-name']/")
bucket_names = [bucket.text_content.replace("n", "").strip() for bucket in bucket_elems]
print bucket_names
你也可以通過檢查從每個請求返回的狀態代碼來驗證這些請求結果。它不會總是能讓你知道登錄階段是否是成功的,但是可以用來作為一個驗證指標。
例如:
Python
1
2
result.ok # 會告訴我們最後一次請求是否成功
result.status_code # 會返回給我們最後一次請求的狀態
就是這樣。