単純な Python クローラー インスタンスを記録する
この記事では主に、単純な Python クローラー インスタンスの記録に関する記事を共有します。必要な方はご覧ください。
主なプロセスは以下に分かれています:
クロール、並べ替え、および保存
1 ウェブサイトにリクエストを送信し、ウェブページのコードを取得するために使用される
リクエストを含む、いくつかのパッケージが使用されます。
BeautifulSoup4は、取得したWebページのコードを処理し、有効な情報を抽出するために使用されます
pandasは、情報を保存するために使用されます
このうち、to_excel('docname.xlsx')の場合、別のパッケージopenpyxl
import requests from bs4 import BeautifulSoup import re import json import pandas import excel import sqlite3 # import openpyxl
2が必要になる場合がありますSina をクロールするには Web サイトの各ニュースの担当編集者を例に挙げます。現在のニュースの Web サイトのアドレスを取得した後、その担当編集者を取得する方法を逆算して決定します。 ?
def getComments(url): # 向url对应网址发送请求,获取到的网页内容存储在res中 res=requests.get(url) # 将res内容编码,编码的方式'utf-8'根据网页的charset而定 res.encoding='utf-8' # 因为需要处理res,因此将文本存入soup # html.parser不清楚是干嘛的 soup=BeautifulSoup(res.text,'html.parser') # 根据所需要的内容,通过BS4的select选择,得到数组,用[0]取出元素 # 因为是文本所以直接通过.text得到所需要的内容 return soup.select('.show_author')[0].text # 在soup.select('.link')[0]中,若为id则带# # 若为class则带. # 其他的如a和h1等则无要求 #其中需要层层select并取[0] #有些有多元素,则需通过for遍历
from datetime import date time Str==>time dt=datetime.strptime(timesource,’%Y%m%d’) time==>Str dt.strftime(‘%Y-%m-%d’)
‘-‘.join(list) #将list中的各元素以-方式连接 ‘’.join([p.text.strip() for p in soup.select(‘#artibody p’)[:-1]])
news_total=[] for i in range(1,3): newsurl=url.format(i) newsary=parseListlink(newsurl) new_total.extend(newsary)
3. pandas を使用してデータを保存します。これは、DataFrame() 関数関数
df=pandas.DataFrame(list) print(df.head(20)) #显示前20条信息 df.to_excel('news.xlsx') #转存为excel格式,名字为news.xlsx
です。 以上が単純な Python クローラー インスタンスを記録するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。for u in geturl(url):
excel1 = [] # 循环开始清空数组
result = {} # 循环开始清空字典
try:
# 每个条目在新字典赋值
result['zeren']=getComments(u)
result['id']=i
i=i+1
except:
continue
#每个条目形成数组
excel1.append(result)
#在列表中添加数组
list.extend(excel1)

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

Pythonパラメーター注釈の代替使用Pythonプログラミングでは、パラメーターアノテーションは、開発者が機能をよりよく理解して使用するのに役立つ非常に便利な機能です...

Pythonスクリプトは、特定の場所のカーソル位置への出力をどのようにクリアしますか? Pythonスクリプトを書くときは、以前の出力をカーソル位置にクリアするのが一般的です...

なぜ私のコードはAPIによってデータを返しているのですか?プログラミングでは、APIが呼び出すときにヌル値を返すという問題に遭遇することがよくあります。

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

GoまたはRustを使用してPythonスクリプトを呼び出して、真の並列実行を実現する方法は?最近、私はPythonを使用しています...

Pythonバイナリライブラリ(.whl)のダウンロードメソッドは、Windowsシステムに特定のライブラリをインストールする際に多くのPython開発者が遭遇する困難を調査します。一般的な解決策...
