sách gpt4 ai đã đi

Tạo một trình thu thập dữ liệu web cơ bản bằng Python chỉ sử dụng các thư viện tích hợp sẵn - Python

In lại 作者:行者123 更新时间:2023-11-28 17:45:59 33 4
mua khóa gpt4 Nike

学习 Python,我正在尝试制作一个没有任何第 3 方库的网络抓取工具,这样过程对我来说并没有简化,而且我知道我在做什么。我浏览了一些在线资源,但所有这些都让我对某些事情感到困惑。

html 看起来像这样,


...

*lots of other
tags*

...

...

...

*lots of other
tags*


我想让抓取工具提取

*content*
并将其保存到 html 文件中。

我对我需要如何处理这件事有一个非常基本的想法。

import urllib
from urllib import request
#import re
#from html.parser import HTMLParser

response = urllib.request.urlopen("http://website.com")
html = response.read()

#Some how extract that wanted data

f = open('page.html', 'w')
f.write(data)
f.close()

1 Câu trả lời

标准库自带各种Structured Markup Processing Tools ,您可以使用它来解析 HTML,然后搜索它以提取您的 div。

那里有很多选择。你用什么?

html.parser 看起来是显而易见的选择,但实际上我会从 ElementTree 开始反而。这是一个非常好的和非常强大的 API,网络上有大量的文档和示例代码可以帮助您入门,并且每天都有很多专家使用它来帮助您解决问题。如果事实证明 etree 无法解析您的 HTML,您将不得不使用其他东西……但请先尝试一下。

例如,通过对 HTML 进行一些小的修复,它实际上是有效的,因此实际上有一些文本值得从您的 div 中删除:


...

*lots of other
tags*
spam spam spam
...

...

...

*lots of other
tags*



您可以使用这样的代码(我假设您知道或愿意学习 XPath):

tree = ElementTree.fromstring(page)
mydiv = tree.find('.//div[@class="want"]')

现在您已获得对 phân chia 的引用与类 "want" .您可以通过以下方式获取其直接文本:

print(mydiv.text)

但是如果你想提取整个子树,那就更简单了:

data = ElementTree.tostring(mydiv)

如果您想将其包装在有效的 中和 和/或删除

本身,您必须手动完成该部分。该文档解释了如何使用简单的树 API 构建元素:您创建一个 cái đầu和一个 thân hìnhĐưa vào html , 然后贴上 phân chiahiện hữuthân hình , 然后 tostring html ,仅此而已。

关于python - 在 Python 中仅使用内置库制作一个基本的网络抓取工具 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18157529/

33 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi