无法通过网页抓取从 Google 搜索页面抓取所有链接

时间:2021-06-08 06:22:25

标签: python web-scraping beautifulsoup python-requests python-requests-html

我是网络抓取的初学者。最近我尝试从 Google SERP 的搜索结果中抓取域名。

为了实现这一点,我使用了 Requests、Beautiful Soup 和 Regex 来获取页面、解析标签并查看 href 并使用正则表达式匹配来提取域名。

执行此操作时,输出中缺少一些链接。问题似乎是请求没有完全获取页面,因为我将获取的文本与 Chrome 上的源代码进行了比较(丢失的标签存在于丢失的代码中)。我想知道可能是什么原因!

import requests
from bs4 import BeautifulSoup
import re

url = "https://www.google.com/search?q=glass+beads+india"
r = requests.get(url)
page = r.text 
soup = BeautifulSoup(page, 'lxml') 

i = 0

link_list = []
for tag in soup.find_all('a'):
    i+=1
    href = tag['href']
    if re.search('http',href):
        try:
            link = re.search('https://.+\.com',href).group(0)
            link_list.append(link)
        except:
            pass

link_list = list(set(link_list))

link_list2 = [] 

for link in link_list:
    if not re.search('google.com',link):
        link_list2.append(link)
        
print(link_list2)

0 个答案:

没有答案