微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我是网络抓取的初学者。最近我尝试从 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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。