首先是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 載入項,由 ...