python - 网页抓取谷歌python美丽汤的问题
问题描述
我正在编写代码:我想打开一些已找到的子页面。
import bs4
import requests
url = 'https://www.google.com/search?q=python'
res = requests.get(url)
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, 'html.parser')
list_sites = soup.select('a[href]')
print(len(list_sites))
我想在谷歌中打开例如“python”之类的网站,然后打开一些第一个链接,但是我在函数选择方面遇到了问题。我应该在里面放什么来找到子页面的链接?像一个:波兰 Python 编码器组 - 新闻,欢迎来到 Python.org,......我试图输入:a[href],a,h3 类,但它不起作用......
解决方案
这是你需要的吗?
from bs4 import BeautifulSoup
import requests, urllib.parse
import lxml
def print_extracted_data_from_url(url):
headers = {
"User-Agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19582"
}
response = requests.get(url, headers=headers).text
soup = BeautifulSoup(response, 'lxml')
for container in soup.findAll('div', class_='tF2Cxc'):
head_link = container.a['href']
print(head_link)
return soup.select_one('a#pnnext')
next_page_node = print_extracted_data_from_url('https://www.google.com/search?hl=en-US&q=python')
推荐阅读
- php - 将原始 SQL 查询转换为 Laravel Eloquent
- swift - SwiftUI - PageView - 传入不同的视图
- vba - 如何通过使用 VBA 在 Access 中加载表单来使特定选项卡可见或不可见?
- r - 使用R中的data.table根据条件合并两行的值
- node.js - 使用 NodeJS 访问 cli 全局文件
- bash - Bash 替换 tail -f 后的前 4 个字符
- html - 如何使用 Facebook、Twitter、Whatsapp 和 Messenger 分享按钮分享当前页面?
- jira - 在 Jira 中进行自动转换
- google-cloud-datastore - 参考从对象修改字段并在保存包含对象时保存
- c# - 使用 C# 以编程方式从私有 GitHub 存储库读取图像