Inhaltsverzeichnis
Netzwerkdaten mit Python abrufen
编写爬虫代码
使用 IP 代理
Heim Backend-Entwicklung Python-Tutorial So erhalten Sie Netzwerkdaten mit dem Python-Webcrawler

So erhalten Sie Netzwerkdaten mit dem Python-Webcrawler

May 12, 2023 am 11:04 AM
python

Netzwerkdaten mit Python abrufen

Das Abrufen von Daten aus dem Internet mithilfe der Python-Sprache ist eine sehr häufige Aufgabe. Python verfügt über eine Bibliothek namens „Requests“, eine HTTP-Client-Bibliothek für Python, die zum Senden von HTTP-Anfragen an Webserver verwendet wird.

Wir können die Anforderungsbibliothek verwenden, um über den folgenden Code eine HTTP-Anfrage an die angegebene URL zu initiieren:

import requests
response = requests.get(&#39;<http://www.example.com>&#39;)
Nach dem Login kopieren

Unter diesen enthält das response-Objekt die vom Server zurückgegebene Antwort. Verwenden Sie response.text, um den Textinhalt der Antwort abzurufen. response 对象将包含服务器返回的响应。使用 response.text 可以获取响应的文本内容。

此外,我们还可以使用以下代码获取二进制资源:

import requests
response = requests.get(&#39;<http://www.example.com/image.png>&#39;)
with open(&#39;image.png&#39;, &#39;wb&#39;) as f:
    f.write(response.content)
Nach dem Login kopieren

使用 response.content 可以获取服务器返回的二进制数据。

编写爬虫代码

爬虫是一种自动化程序,可以通过网络爬取网页数据,并将其存储在数据库或文件中。爬虫在数据采集、信息监控、内容分析等领域有着广泛的应用。Python 语言是爬虫编写的常用语言,因为它具有简单易学、代码量少、库丰富等优点。

我们以“豆瓣电影”为例,介绍如何使用 Python 编写爬虫代码。首先,我们使用 requests 库获取网页的 HTML 代码,然后将整个代码看成一个长字符串,使用正则表达式的捕获组从字符串提取需要的内容。

豆瓣电影 Top250 页面的地址是 https://movie.douban.com/top250?start=0,其中 start 参数表示从第几个电影开始获取。每页共展示了 25 部电影,如果要获取 Top250 数据,我们共需要访问 10 个页面,对应的地址是 https://movie.douban.com/top250?start=xxx,这里的 xxx 如果为 0 就是第一页,如果 xxx 的值是 100,那么我们可以访问到第五页。

我们以获取电影的标题和评分为例,代码如下所示:

import re
import requests
import time
import random
for page in range(1, 11):
    resp = requests.get(
        url=f&#39;<https://movie.douban.com/top250?start=>{(page - 1) * 25}&#39;,
        headers={&#39;User-Agent&#39;: &#39;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36&#39;}
    )
    # 通过正则表达式获取class属性为title且标签体不以&开头的span标签并用捕获组提取标签内容
    pattern1 = re.compile(r&#39;<span class="title">([^&]*?)</span>&#39;)
    titles = pattern1.findall(resp.text)
    # 通过正则表达式获取class属性为rating_num的span标签并用捕获组提取标签内容
    pattern2 = re.compile(r&#39;<span class="rating_num".*?>(.*?)</span>&#39;)
    ranks = pattern2.findall(resp.text)
    # 使用zip压缩两个列表,循环遍历所有的电影标题和评分
    for title, rank in zip(titles, ranks):
        print(title, rank)
    # 随机休眠1-5秒,避免爬取页面过于频繁
    time.sleep(random.random() * 4 + 1)
Nach dem Login kopieren

在上述代码中,我们通过正则表达式获取标签体为标题和评分的 span 标签,并用捕获组提取标签内容。使用 zip 压缩两个列表,循环遍历所有电影标题和评分。

使用 IP 代理

许多网站对爬虫程序比较反感,因为爬虫程序会耗费掉它们很多的网络带宽,并制造很多无效的流量。为了隐匿身份,通常需要使用 IP 代理来访问网站。商业 IP 代理(如蘑菇代理、芝麻代理、快代理等)是一个好的选择,使用商业 IP 代理可以让被爬取的网站无法获取爬虫程序来源的真实 IP 地址,从而无法简单的通过 IP 地址对爬虫程序进行封禁。

以蘑菇代理为例,我们可以在该网站注册一个账号,然后购买相应的套餐来获得商业 IP 代理。蘑菇代理提供了两种接入代理的方式,分别是 API 私密代理和 HTTP 隧道代理,前者是通过请求蘑菇代理的 API 接口获取代理服务器地址,后者是直接使用统一的代理服务器 IP 和端口。

使用 IP 代理的代码如下所示:

import requests
proxies = {
    &#39;http&#39;: &#39;<http://username:password@ip>:port&#39;,
    &#39;https&#39;: &#39;<https://username:password@ip>:port&#39;
}
response = requests.get(&#39;<http://www.example.com>&#39;, proxies=proxies)
Nach dem Login kopieren

其中,usernamepassword 分别是蘑菇代理账号的用户名和密码,ipport

Darüber hinaus können wir auch den folgenden Code verwenden, um Binärressourcen abzurufen: 🎜rrreee🎜Verwenden Sie response.content, um die vom Server zurückgegebenen Binärdaten abzurufen. 🎜🎜Crawler-Code schreiben🎜🎜Ein Crawler ist ein automatisiertes Programm, das Webseitendaten durch das Netzwerk crawlt und sie in einer Datenbank oder Datei speichert. Crawler werden häufig in der Datenerfassung, Informationsüberwachung, Inhaltsanalyse und anderen Bereichen eingesetzt. Die Python-Sprache ist eine häufig verwendete Sprache zum Schreiben von Crawlern, da sie die Vorteile hat, dass sie leicht zu erlernen ist, nur wenig Code enthält und über umfangreiche Bibliotheken verfügt. 🎜🎜Wir nehmen „Douban Movie“ als Beispiel, um vorzustellen, wie man mit Python Crawler-Code schreibt. Zuerst verwenden wir die Anforderungsbibliothek, um den HTML-Code der Webseite abzurufen, behandeln dann den gesamten Code als lange Zeichenfolge und verwenden die Erfassungsgruppe des regulären Ausdrucks, um den erforderlichen Inhalt aus der Zeichenfolge zu extrahieren. 🎜🎜Die Adresse der Douban Movie Top250-Seite lautet https://movie.douban.com/top250?start=0, wobei der Parameter start angibt, welcher Film gestartet werden soll aus. . Auf jeder Seite werden insgesamt 25 Filme angezeigt. Wenn wir die Top250-Daten erhalten möchten, müssen wir insgesamt 10 Seiten besuchen. Die entsprechende Adresse lautet https://movie.douban.com/top250?start =xxx. Wenn xxx hier 0 ist, ist es die erste Seite. Wenn der Wert von xxx 100 ist , dann können wir auf Seite fünf zugreifen. 🎜🎜Wir nehmen als Beispiel das Abrufen des Titels und der Bewertung eines Films. Der Code lautet wie folgt: 🎜rrreee🎜Im obigen Code verwenden wir reguläre Ausdrücke, um das Span-Tag abzurufen, dessen Tag-Körper der Titel und die Bewertung sind, und verwenden eine Capture-Gruppe zum Extrahieren des Tag-Inhalts. Verwenden Sie zip, um die beiden Listen zu komprimieren und alle Filmtitel und Bewertungen durchzugehen. 🎜🎜Verwenden Sie einen IP-Proxy🎜🎜Viele Websites sind von Crawlern abgeneigt, da Crawler einen Großteil ihrer Netzwerkbandbreite verbrauchen und viel ungültigen Datenverkehr erzeugen. Um Ihre Identität zu verbergen, müssen Sie normalerweise einen IP-Proxy verwenden, um auf die Website zuzugreifen. Kommerzielle IP-Proxys (wie Mushroom Proxy, Sesame Proxy, Fast Proxy usw.) sind eine gute Wahl. Die Verwendung kommerzieller IP-Proxys kann verhindern, dass die gecrawlte Website die echte IP-Adresse der Quelle des Crawler-Programms erhält, was dies unmöglich macht Verwenden Sie einfach die IP-Adresse. Das Crawler-Programm wird blockiert. 🎜🎜 Am Beispiel von Mushroom Agent können wir ein Konto auf der Website registrieren und dann das entsprechende Paket erwerben, um einen kommerziellen IP-Agenten zu erhalten. Der Pilz-Proxy bietet zwei Möglichkeiten, auf den Proxy zuzugreifen, nämlich den privaten API-Proxy und den HTTP-Tunnel-Proxy. Ersterer erhält die Proxy-Server-Adresse durch Anfordern der API-Schnittstelle des Pilz-Proxys, und letzterer verwendet direkt die IP und den Port des einheitlichen Proxy-Servers. 🎜🎜Der Code für die Verwendung des IP-Proxys lautet wie folgt: 🎜rrreee🎜Unter diesen sind username und password der Benutzername bzw. das Passwort des Mushroom-Proxy-Kontos, ip und port sind die IP-Adresse bzw. die Portnummer des Proxyservers. Beachten Sie, dass verschiedene Proxy-Anbieter möglicherweise unterschiedliche Zugriffsmethoden haben und entsprechend der tatsächlichen Situation angepasst werden müssen. 🎜

Das obige ist der detaillierte Inhalt vonSo erhalten Sie Netzwerkdaten mit dem Python-Webcrawler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

Wählen Sie zwischen PHP und Python: Ein Leitfaden Wählen Sie zwischen PHP und Python: Ein Leitfaden Apr 18, 2025 am 12:24 AM

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Apr 16, 2025 am 12:12 AM

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

So führen Sie Programme in der terminalen VSCODE aus So führen Sie Programme in der terminalen VSCODE aus Apr 15, 2025 pm 06:42 PM

Im VS -Code können Sie das Programm im Terminal in den folgenden Schritten ausführen: Erstellen Sie den Code und öffnen Sie das integrierte Terminal, um sicherzustellen, dass das Codeverzeichnis mit dem Terminal Working -Verzeichnis übereinstimmt. Wählen Sie den Befehl aus, den Befehl ausführen, gemäß der Programmiersprache (z. B. Pythons Python your_file_name.py), um zu überprüfen, ob er erfolgreich ausgeführt wird, und Fehler auflösen. Verwenden Sie den Debugger, um die Debugging -Effizienz zu verbessern.

Kann gegen Code in Windows 8 ausgeführt werden Kann gegen Code in Windows 8 ausgeführt werden Apr 15, 2025 pm 07:24 PM

VS -Code kann unter Windows 8 ausgeführt werden, aber die Erfahrung ist möglicherweise nicht großartig. Stellen Sie zunächst sicher, dass das System auf den neuesten Patch aktualisiert wurde, und laden Sie dann das VS -Code -Installationspaket herunter, das der Systemarchitektur entspricht und sie wie aufgefordert installiert. Beachten Sie nach der Installation, dass einige Erweiterungen möglicherweise mit Windows 8 nicht kompatibel sind und nach alternativen Erweiterungen suchen oder neuere Windows -Systeme in einer virtuellen Maschine verwenden müssen. Installieren Sie die erforderlichen Erweiterungen, um zu überprüfen, ob sie ordnungsgemäß funktionieren. Obwohl VS -Code unter Windows 8 möglich ist, wird empfohlen, auf ein neueres Windows -System zu upgraden, um eine bessere Entwicklungserfahrung und Sicherheit zu erzielen.

Kann Visual Studio -Code in Python verwendet werden Kann Visual Studio -Code in Python verwendet werden Apr 15, 2025 pm 08:18 PM

VS -Code kann zum Schreiben von Python verwendet werden und bietet viele Funktionen, die es zu einem idealen Werkzeug für die Entwicklung von Python -Anwendungen machen. Sie ermöglichen es Benutzern: Installation von Python -Erweiterungen, um Funktionen wie Code -Abschluss, Syntax -Hervorhebung und Debugging zu erhalten. Verwenden Sie den Debugger, um Code Schritt für Schritt zu verfolgen, Fehler zu finden und zu beheben. Integrieren Sie Git für die Versionskontrolle. Verwenden Sie Tools für die Codeformatierung, um die Codekonsistenz aufrechtzuerhalten. Verwenden Sie das Lining -Tool, um potenzielle Probleme im Voraus zu erkennen.

PHP und Python: Ein tiefes Eintauchen in ihre Geschichte PHP und Python: Ein tiefes Eintauchen in ihre Geschichte Apr 18, 2025 am 12:25 AM

PHP entstand 1994 und wurde von Rasmuslerdorf entwickelt. Es wurde ursprünglich verwendet, um Website-Besucher zu verfolgen und sich nach und nach zu einer serverseitigen Skriptsprache entwickelt und in der Webentwicklung häufig verwendet. Python wurde Ende der 1980er Jahre von Guidovan Rossum entwickelt und erstmals 1991 veröffentlicht. Es betont die Lesbarkeit und Einfachheit der Code und ist für wissenschaftliche Computer, Datenanalysen und andere Bereiche geeignet.

Ist die VSCODE -Erweiterung bösartig? Ist die VSCODE -Erweiterung bösartig? Apr 15, 2025 pm 07:57 PM

VS -Code -Erweiterungen stellen böswillige Risiken dar, wie das Verstecken von böswilligem Code, das Ausbeutetieren von Schwachstellen und das Masturbieren als legitime Erweiterungen. Zu den Methoden zur Identifizierung böswilliger Erweiterungen gehören: Überprüfung von Verlegern, Lesen von Kommentaren, Überprüfung von Code und Installation mit Vorsicht. Zu den Sicherheitsmaßnahmen gehören auch: Sicherheitsbewusstsein, gute Gewohnheiten, regelmäßige Updates und Antivirensoftware.

See all articles