最有用的兩個爬蟲工具

2021-09-16 14:24:14 字數 1265 閱讀 4437

首先是selenium。這個玩意,特別適合爬一些反爬蟲很強,但是無需登入的**。當然需要登陸的也可以搞。只要你提前登陸一下就行。

這庫里,最有用的東西就是下面的**。

from selenium import webdriver

import lxml.etree

browser = webdriver.firefox()

#建立乙個瀏覽器例項

url=『

page_data = browser.get(ur).page_source

print(type(page_source))

#獲取網頁源**的文字。這個是最有用的。如果網頁裡有你的目標內容然後可以直接用lxml扒下來了。

response = lxml.etree.html(page_data)

#這一步是先把目標頁面的資訊做成乙個可以用xpath查詢的物件。用了response的名稱是因為跟scrapy裡面的response的用法一樣。

taget = response.xapth('you xpath')

#這樣就能拿到你想要的內容了。

input_search = browser.find_element_by_id('lia-searchquery')

定位需要提交資訊的那個按鈕。

input_search.send_keys('張學友')

#向提交資訊的框裡輸入某個資訊

input_search.send_keys(keys.enter)

#寫好想要的內容後傳送回車,從而傳送請求

target =browser.find_element_by_xpath('//body').get_attribute("style")

#獲取指定標籤的指定屬性的文字資訊。

關於lxml,有一點說明:

lxml.etree.html(page_data)的page_data可以是文字型別str,也可以是包含了網頁**的二進位制資料流btype。例如下面這個情況裡熱

from urllib import request

from lxml import etree

url = ''

page_data = request.urlopen(url).read()

print(type(page_data))

response = etree.html(page_data)

text = response.xpath('//div[@id="arc-body"]/text()')

print(text)

兩個比較有用的Javascript工具函式 原

1.大家在實際工作中,會寫各式各樣的賦值語句。比如最常用的obj.style.display none 如果這樣的賦值語句一多,obj.style一排下來都要看暈了 下面我的base.js中的extend函式可以允許用json格式賦值屬性甚至是函式控制代碼 擴充套件函式 param target 需...

爬蟲兩個問題

乙個python的爬蟲,爬取,出現以下報錯 requests.exceptions.connectionerror connection aborted.error 54,connection reset by peer 不是大問題,可能因為訪問過於頻繁,通過忽略可以解決,參考此 有說原因 mac ...

兩個VS的文件工具

做個筆記 當 xml 注釋協助將源 注釋自動轉換為 rtf 幫助文件時,仍須寫入注釋文字,這是一項令很多開發人員感到精疲力盡的工作。為什麼不使用自動化來加速這些注釋的建立呢?這正是 ghostdoc 1.9.5 試圖實現的目標。ghostdoc 是乙個免費的 visual studio 載入項,由 ...