使用BeautifulSoup来基于Google搜索已知域(例如.microsoft.com)的网页。我想提取整个网址,包括 “ http(s)://”前缀。
我正在检索有效的节点,但是我不明白如何指示find_all方法包括目标文本的所有剩余文本,包括“ http”的第一次出现。
import requests
from bs4 import BeautifulSoup
import urllib3
import re
def make_soup(url):
http = urllib3.PoolManager()
r = http.request("GET", url)
return BeautifulSoup(r.data,'lxml')
# to search
query = "\"\.microsoft\.com\""
try:
from googlesearch import search
for j in search(query, tld="com", num=10, stop=1, pause=2):
#print(j)
page = make_soup(j)
for node in page.find_all(text=lambda x: x and ".microsoft.com" in x):
print(node)
except ImportError:
print("No module named 'google' found")
我收到的结果都以“ .microsoft.com”结尾,但是我希望结果包含完整的URL,以“ http ... microsoft.com”开头