❶ 關於用xpath抓取<p>tag的問題
比如說我要抓取所有a標簽html/body/div/form/table/tbody/tr/td[2]//a
❷ 求一個php寫的爬蟲,能繞過的。
根據題主的需求,手敲兩個小時代碼,拿走不謝
from selenium import webdriver
import time
import os
import requests
class Huaban():
def get_picture_url(self, content):
global path
path = "E:\spider\pictures\huaban" + '\\' + content
if not os.path.exists(path):
os.makedirs(path)
url = "http://huaban.com"
driver.maximize_window()
driver.get(url)
time.sleep(8)
try:
driver.find_elements_by_xpath('//input[@name="email"]')[0].send_keys('花瓣賬號')
print('user success!')
except:
print('user error!')
time.sleep(3)
try:
driver.find_elements_by_xpath('//input[@name="password"]')[0].send_keys('賬號密碼')
print('pw success!')
except:
print('pw error!')
time.sleep(3)
❸ PHP怎麼使用xpath解析html內容
實例如下:
<?php
$xml = simplexml_load_file("test.xml");
$result = $xml->xpath("form");
print_r($result);
?>
獲取form內容
❹ PHP正則高手來,我求助小偷程序
<?php
$str = <<<STR
HTML略
STR;
preg_match("#http://[^'\]]+#i", $str, $matches);
var_mp($matches); // $matches是個數組
❺ xpath 怎麼選取網頁中表格的某一列
解析table,然後循環行和列就可以了
❻ python里的爬蟲如何使用xpath 提取script里的元素
xpath也許只能提取html元素?
建議你先把content保存到本地文件,看看需要的內容有沒有下載下來。
你這個屬於script內容,看看直接正則能獲得嗎?
❼ xpath怎麼抓取<div>下的所有<p>標簽的文字
實現方法如下:
載入到XmlDocument,查找p子節點(XPath),如果要在子節點內繼續查找,用遞歸;
string patten_block="<div class=\"wm_sktq_l\">[\\s\\S]*</div>"
string patten_p="<p>[\\s\\S]*</p>" 用組獲取。
❽ 網頁內容是由javascript或者php用爬蟲有何不同
javascript是瀏覽器腳本,php是伺服器腳本。你可以查看js的代碼,但不能查看php的代碼。抓取網頁的時候php網頁的內容顯得更干凈,而js網頁還要過濾掉js代碼。
❾ php採集多個tr中的內容如何做
<?php
$dom = new DOMDocument();
$dom->loadHTML($html);
$props = array();
$xpath = new DOMXPath($dom);
$trNodes = $xpath->query("//tr");
foreach($trNodes as $trNode) {
$thNodes = $xpath->query("./th");
$tdNodes = $xpath->query("./td");
if($thNodes->length == 0 || $tdNodes->length == 0) continue;
props[$thNodes->item(0)->nodeValue] = $tdNodes->item(0)->nodeValue;
}
var_mp($props);
❿ 怎樣抓取下拉菜單被選擇項的值
1. 為什麼不能用XPath抓取SELECT的被選項
相比於正則表達式,XPath在抓取網頁內容上更加易用,GooSeeker網路爬蟲整個都採用XPath表達式來提取信息。但是有些HTML動作控制項的內容用XPath抓取不到,例如,下拉菜單SELECT選中的OPTION是哪個?這個信息抓取不到,假設你編寫了一個XPath://select[@class='selectMonth']/option[@selected='true'] ,這個XPath是無效的。如果目標網頁上的下拉菜單確實設置了一個預設選中的OPTION,那隻是預設情況,不代表動態情況。
原因很簡單:XPath可以抓取html屬性值(attribute),但是不能抓取特性值(property)。
2. GooSeeker在抓取結果文件中保存選中項值
要抓取選中項的值,必須為這個下拉菜單定義一個連續動作,那麼DS打數機就能記錄下來當前動作做到哪一個OPTION了。下圖是一個文件樣例。
在文件前部增加了兩個標簽,用於記錄動作循環次數actionno和動作施加點的值actionvalue,數值之間用-+-來間隔開。
actionno:表示每層動作執行到第幾次循環了;
actionvalue:表示特定動作類型執行後的結果,比如,選中的OPTION的值,有些動作是不記錄結果的,比如,自動滾屏;
上圖可以看出,定義了6層動作,第2和第3層動作分別選擇年份和月份,而且已經選擇到1960年4月。解析這兩個欄位的時候,識別-+-符號就能分割成相應層次動作的執行次數。如果動作類型是輸入,當用戶輸入的字元串含有+號時,DS打數機就會自動再增加一個+號,所以,解析結果的時候要注意轉義處理。