根据已知域查找完整的URL

时间:2019-01-25 13:04:50

标签: python beautifulsoup findall

使用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”开头

0 个答案:

没有答案