私はウェブサイトからテーブルを引き出し、Excelスプレッドシートに貼り付けるウェブスクレーパーを作ろうとしています。私はPython初心者です(そして一般的にはコーディング) - 文字通り数日前に学習を始めました。Python Web Scraper/Crawler - HTMLテーブルからExcelスプレッドシートへ
このWebスクレーパー/クローラーを作成するにはどうすればよいですか?私が持っているコードは次のとおりです。
import csv
import requests
from BeautifulSoup import BeautifulSoup
url = 'https://www.techpowerup.com/gpudb/?mobile=0&released%5B%5D=y14_c&released%5B%5D=y11_14&generation=&chipname=&interface=&ushaders=&tmus=&rops=&memsize=&memtype=&buswidth=&slots=&powerplugs=&sort=released&q='
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html)
table = soup.find('table', attrs={'class': 'processors'})
list_of_rows = []
for row in table.findAll('tr')[1:]:
list_of_cells = []
for cell in row.findAll('td'):
text = cell.text.replace(' ', '')
list_of_cells.append(text)
list_of_rows.append(list_of_cells)
outfile = open("./GPU.csv", "wb")
writer = csv.writer(outfile)
writer.writerow(["Product Name", "GPU Chip", "Released", "Bus", "Memory", "GPU clock", "Memory clock", "Shaders/TMUs/ROPs"])
writer.writerows(list_of_rows)
ここでは、上記のコードにあるWebサイトのプログラムが動作しています。このページ上の複数のテーブルがあることをhttps://www.techpowerup.com/gpudb/2990/radeon-rx-560d
注:
は今、私は、次のWebサイトからテーブルをこすりしたいです。このページでプログラムを動作させるには、何を追加/変更する必要がありますか?私はすべてのテーブルを手に入れようとしていますが、もし誰かが私を助けることができれば、私はそれをとても高く評価します!
あなたが学ぶのを助けるいくつかの非常に素晴らしいチュートリアルやドキュメントがあります! [このようなもの(Web Scraping Workshop)](https://gist.github.com/bradmontgomery/1872970)。 – cosinepenguin
@cosinepenguinリンクありがとう!私はデータテーブルを掻き取ろうとしています。そのようなものをカバーするリンクがありますか、それとも私が言及した2番目のリンクのテーブルの1つを掻き集めるのに役立つ小さなコードがコード内にあるかどうかを知っていますか?手伝ってくれてどうもありがとう! –
私は以下の答えが役立つことを願っています!そうでなければ、BeautifulSoupで*すべて*を行う方法を説明する数多くの素晴らしいチュートリアルがあります!最も徹底的なものの1つはスタンフォードからです:[美味しいスープを使ったWeb Scraping](http://web.stanford。edu /〜zlotnick/TextAsData/Web_Scraping_with_Beautiful_Soup.html)。これはまた、ウェブサイトのDOMモデルとそれらとやりとりする方法を強調表示します。一度これらの基本を習得すれば、それ以外のことは驚くほど簡単です!がんばろう! – cosinepenguin