一長串不完整的網站,缺少一些前綴,例如“http://www”。等等。
pewresearch.org
narod.ru
intel.com
xda-developers.com
oecd.org
我試過:
import requests
from lxml.html import fromstring
to_check = [
"pewresearch.org",
"narod.ru",
"intel.com",
"xda-developers.com",
"oecd.org"]
for each in to_check:
r = requests.get("http://www." each)
tree = fromstring(r.content)
title = tree.findtext('.//title')
print (title)
他們回傳:
Pew Research Center | Pew Research Center
Лучшие конструкторы сайтов | Народный рейтинг конструкторов для создания сайтов
Intel | Data Center Solutions, IoT, and PC Innovation
XDA Portal & Forums
Home page - OECD
似乎他們都以“http://www.”開頭,但不是 - 因為例如,正確的是“https://www.pewresearch.org/”。
使用在線工具或 Python 最快的方法是什么,我可以找到它們完整和正確的地址,而不是在網路瀏覽器中一一鍵入它們?(有些可能是 http,有些是 https)
謝謝你。
uj5u.com熱心網友回復:
撰寫腳本/短程式向每個站點發送 HEAD 請求。服務器應該以重定向回應(例如到 HTTPS)。遵循每個重定向,直到沒有收到進一步的重定向。
C# HttpClient 可以自動跟隨重定向。
對于 Python,請使用 requests 庫在此處查看@jterrace 的答案,代碼片段如下:
>>> import requests
>>> r = requests.head('http://github.com', allow_redirects=True)
>>> r
<Response [200]>
>>> r.history
[<Response [301]>]
>>> r.url
u'https://github.com/'
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/422396.html
標籤:
下一篇:簡單的PythonWeb瀏覽器回傳:<p>您的客戶端發出了格式錯誤或非法的請求。<ins>這就是我們所知道的一切。</ins>
