python3腳本先放上
import requests
import re
from urllib.parse import urljoin
import csv
import chardet
def caiji(url):
file = open('result.csv', 'w', encoding='utf-8', newline='')
cw = csv.writer(file)
cw.writerow(['URL', 'Anchor'])
resp = requests.get(url)
encoding = chardet.detect(resp.content)["encoding"]
# print(encoding)
resp.encoding = encoding
link_list = re.findall(r'<a.*?href="(.*?)".*?>(.*?)</a>', resp.text, re.S|re.I)
for link in link_list:
a = urljoin(url, link[0]), link[1]
print(a)
cw.writerow(a)
file.close()
if __name__ == '__main__':
url = '' # 要采集的URL
caiji(url)
稍做解釋
- 上述腳本結(jié)果存入Excel,其中
newline=''不會出現(xiàn)空行。
- python正則導(dǎo)入模塊
import re,URL及其文本匹配<a.*?href="(.*?)".*?>(.*?)</a>。
- 以下這兩行以便python正確識別網(wǎng)頁編碼,以防亂碼。
encoding = chardet.detect(resp.content)["encoding"]
resp.encoding = encoding
-
urljoin(url, link[0]) Url相對路徑,改為絕對路徑。
對SEO作用
- 方便查看網(wǎng)頁上有那些超鏈接,以便進一步查看是否是404、301等。
- 根據(jù)First link counts原則,查看相同Url,第一個Url的anchor是否合適。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。