1.下載depot_tools
注意:不要使用拖拽和復制粘貼的方式從壓縮包中提取文件,否則」.git」隱藏文件夾下的文件不會被提取出來。「.git」文件夾是depot_tools自動更新的必要文件。你可以使用解壓工具的「解壓文件…」操作。
環境變數設置,給個圖更直觀:
管理員許可權用戶:
修改PATH系統變數,在最後增加depot_tools的路徑地址,如:C:\workspace\depot_tools.
非管理員用戶:
添加PATH用戶變數:在用戶變數點擊新建,增加PATH變數名,變數值為depot_tools的路徑地址,如上圖。
2.安裝git和python
如果你已經手動安裝了msysgit和python,則跳過這一步。
從命令行到保存chromium源碼的路徑下,運行命令:gclient。第一次運行,gclient將會安裝所有和獲取源碼相關的工具,例如git,python:
Fetching
fromhttps://src.chromium.org/svn/trunk/tools/third_party/svn_bin.zip
fatal:
unable toaccess 'https://chromium.googlesource.com/chromium/tools/depot_tools.git/':Failed connect to chromium.googlesource.com:9217; No error
Cannot
rebase:You have unstaged changes.
Please
commit orstash them.
Failed
to updatedepot_tools.
如果遇到上述問題,應該是你無法連接到chromium伺服器,你可以使用vpn或者代理。
注意:
1)如果你在cygwin或者PowerShell等非命令行窗口運行gclient時,有可能能正常運行,但是msysgit,python和其他工具可能不會正確安裝。
2)在首次運行gclient時,如果看到和文件系統相關的很奇怪的錯誤,你可以去這里找答案:
http://tortoisesvn.tigris.org/faq.html#cantmove2.
3)如果你在windows xp上運行,並且看到像下面的錯誤:「The system cannotexecute the specified program」, 請安裝
「Microsoft Visual C++ 2008 RedistributablePackage」.
3.git設置
Git安裝後需要一些設置
如果你從來沒有用過git,還是先網路一下git的使用方法,至少知道一些簡單的操作命令。
*在獲取代碼之前,確認git,python,depot_tools已經加入環境變數中。
4.獲取代碼
1)獲取主幹代碼:到達保存chromium代碼的路徑,直接右鍵git bash,輸入$ fetch --nohooks chromium --nosvn=true開始獲取主幹代碼:
這個過程比較慢,估計下載需要幾個小時時間,慢的話也許十幾個小時,所以大家最好把這一步放在晚上睡覺時進行。
2)獲取主幹分支標簽(版本)信息:
切換至src目錄下:
git fetch --tags >>tags.txt 2>&1 //標簽號42.0.2311.61會保存在tags.txt文件中
git checkout -b chrome_42.0.2311.61_local_branch 42.0.2311.61
gclient sync --with_branch_heads --jobs 16
以上命令的解析大家都可以在命令的幫助裡面查到。
至此,代碼已經被下載到各位的硬碟中,通過git命令就可以看到分支及標簽情況。今天先講這么多,下次會把編譯過程提供給大家。
註:拉取代碼的過程可能很長,取決於使用的vpn的質量;最後代碼拉取成功但是執行runhooks的時候腳本可能會失敗,至於是否影響chrome的編譯,那就只能看運氣了。
附:
chromium源碼channel:
canary
channel:實驗版本,每日發布。它沒有經過充分測試,可能有某些奇怪的bug。
dev
channel:每2星期發布,相對穩定,新功能和新特性都有。
beta
channel:每周更新,6周大版本更新。比較穩定了,比dev版小1個版本,比stable版本早進化一個月。
stable
channel:穩定版,比dev版本小2個版本,2到3周次版本更新,6周主版本更新。
Ⅱ Python怎麼通過html源代碼獲取表單中輸入框的name值
可以通過import xml.etree.ElementTree,通過方法parse(HTML)獲取根節點,再去find(輸入框的xpath 路徑)得到輸入框Element 對象,最後通過Element.get(key=name)方法去讀想要的屬性值。
Ⅲ python文件的源代碼文件夾怎麼打開
使用python源文件的幾種方法\運行python腳本:
a. windows下打開shell(DOS提示符,命令行,cmd):
CMD命令進入某個目錄
如在window 下cmd運行python源文件 xxx.py(注意這個xxx.py在C盤的python27目錄下,若是其它盤的目錄,就進入其它盤的目錄來運行xxx.py):
打開cmd
輸入c: 回車
輸入cd c:/python27/ 回車 (ps:cd後面沒有冒號!,如果需要在dos下查看帶有空格的文件夾,要給文件夾加上引號如:CD "Program Files"/PHP )
輸入python xxx.py 或者 xxx.py 回車
這是在找到文件路徑下去執行某文件,直接在cmd,python環境下輸入python xxx.py 會運行語法錯誤,不知是否是系統的環境變數沒有添加好?
在linux下參見vamei :python 基礎
另附:cmd命令
1.進入上一層目錄 CD ../
2.顯示目錄下的文件及了目錄 dir
b.Linux下運行python源文件:
$ python xxx.py
c.在IDLE下運行python源文件
點擊開始->程序->Python 2.7->IDLE(Python GUI)
點擊file->open->xxx.py
ctrl+F5
quit()是退出程序
d.在IDLE里,可以通過os執行系統命令,執行python源文件:
import os
os.system('python c:/xxx.py')
e. 直接雙擊xxx.py
雙擊xxx.py,窗口一閃而過。很像VC運行時的Ctrl+F5對不對?那怎麼辦呢?(非windows系統可以跳過,不用此技巧)
這里我們在代碼里加入一句話raw_input(),就可以。
Ⅳ 問題如圖所示(用python,解答全過程)
安裝必要的庫和工具:requests, BeautifulSoup4, lxml, openpyxl
python
Copy code
pip install requests beautifulsoup4 lxml openpyxl
發送 GET 請求,獲取網頁源代碼
python
Copy code
import requests
url = "https://ssr1.scrape.center/"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
}
response = requests.get(url, headers=headers)
html = response.text
使用 BeautifulSoup 解析網頁源代碼,提取所需欄位
python
Copy code
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, "lxml")
items = soup.find_all("div", class_="item")
for item in items:
title = item.find("h2").text.strip()
url = item.find("a")["href"]
cover = item.find("img")["纖陸src"]
category = item.find("div", class_="categories").a.text.strip()
published_at = item.find("div", class_="published-at").text.strip()
# 將結果保存到 Excel 文件
使用 openpyxl 庫將結果保存到 Excel 文件中
python
Copy code
from openpyxl import Workbook
workbook = Workbook()
sheet = workbook.active
sheet.title = "Scraped Data"
# 寫入表頭
sheet.append(["Title", "URL", "Cover", "Category", "Published At"])
# 寫入數據
for item in items:
title = item.find("h2").text.strip()
url = item.find("a")["href"]
cover = item.find("img")["src"]
category = item.find("div", class_="categories").a.text.strip()
published_at = item.find("div", class_="published-at").text.strip()
row = [title, url, cover, category, published_at]
sheet.append(row)
# 保存 Excel 文件
workbook.save("scraped_data.xlsx")
以上就是一個簡單的 Python 爬蟲實現,可以將網頁中的數據提取出來,存儲到睜枝 Excel 文件中。需要注意的是,網站可能會有反爬蟲機制,為了避免被封 IP,建議使毀早頃用代理 IP、隨機 User-Agent 等措施。
Ⅳ python,requests中獲取網頁源代碼,與右鍵查看的源代碼不一致,求解!!! 下面是代碼,不知有何錯誤
requests請求網址url = 'https://www..com/s?wd=周傑倫'後,print(res.text) #列印的只是url = 'https://www..com/s?wd=周傑倫 這一個請求返回的響應體內容,
而如下圖,右鍵查看的頁面源代碼是你請求的網頁url加上其他頁面內的js請求,圖片等靜態資源請求,css等最終形成的頁面,所以兩者不一樣的
Ⅵ python selenium page_source 獲取的html源碼跟看到的不一樣
page_source 得到的是靜態源代碼,不含js內容
需要使用find_element_by 等方法定位元素獲取
Ⅶ 我想知道如何查看python的源代碼
查看腳本的話(python中部分函數是直接用C語言嵌入的,要在官網上搜C源碼),可以使用Pycharm,或者其他IDLE,比如我想查看python中TensorFlow包的Session函數:
任意在pycharm內的一個.py文件中,輸入這個函數
import tensorFlow as tf #載入包並命名為tf
tf.Session()
然後按住Ctrl按鈕,左鍵單擊Session,就自動打開了對應.py文件
另外一種方法是直接在python本地庫中找對應的.py文件,(可以用help函數先搜索)
Ⅷ python如何獲取網頁源碼中整個<body>的內容
一般是這樣,用request庫獲取html內容,然後用正則表達式獲取內容。比如:
import requests
from bs4 import BeautifulSoup
txt=requests.get("https://www.gov.cn/").text //抓取網頁
a=BeautifulSoup(txt,'html.parser') //構建解析器
print(a.body) //獲取內容,也可以是a.title或者其他的標記內容
Ⅸ python怎麼看package源碼
首先你要找到源碼的位置,你可以使用下面的方法:
如果你可以在命令行運行python,你可以使用下面的命令查看目錄。
>>>importstring
>>>string.__file__
'/usr/lib/python2.7/string.pyc'
>>>
對應目錄下的string.py就是package的源碼,不過有些庫因為是c寫的,會提示錯誤,這樣的庫就需要你下載python源碼,直接看c的源文件了。
如果解決了您的問題請採納!
如果未解決請繼續追問!
Ⅹ 如何使用python或R抓取網頁被隱藏的源代碼
隱藏的源代碼?不知道你指的是什麼?我的理解有兩種,一是不在前段顯示,但是查看源代碼時有,二是,非同步載入的內容在前端和源代碼中均看不到,第一種很容易解決,想必你指的時第二種,解決方法有三種:
模擬瀏覽器,動態獲取,可以使用大殺器selenium工具
使用這種方法可以實現只要能看到就能抓取到,如滑鼠滑過,非同步載入等,因為他的行為可以與瀏覽器一模一樣,但是這種方式的效率卻是最低的,一般不到實在沒有辦法的時候不推薦使用。
執行js代碼
在python中執行非同步載入的js代碼,獲得一些諸如滑鼠滑過,下拉載入更多等,但是現在的網站中都有非常多的js代碼,要找到需要執行的目標js代碼時非常困難和耗時的,此外python對js的兼容性也不是很好,也不推薦使用。
找到非同步載入的json文件,最常用,最方便,最好用的方法,這是我平常抓取動態非同步載入網站時最常用的方法,可以解決我99%的問題。具體的使用方法是打開瀏覽器的開發者工具,轉到network選項,之後重新載入網頁,在network中的列表中找到載入過程中載入的需要動態非同步載入的json文件,以京東為例,如圖,第一張找到的是非同步載入的庫存信息的json文件,第二招找到的是非同步載入的評論信息的json文件:
具體更詳細的方法可以google或網路