我能夠刮我想要的數據,但因爲所有的div都在1個容器中,它是「內容體」,當我得到結果時,它們被作爲一個整體傾倒(你可以測試代碼,並看到)在所有的match_date,然後匹配然後tourny。Python BeautifulSoup類似divs在同一容器排序
import requests
from bs4 import BeautifulSoup, Tag
from lxml import html
import requests
import MySQLdb
import urllib2
import itertools
import re
import sys
from datetime import date, timedelta as td, datetime
urls =("http://www.esportsheaven.net/?page=match")
hdr = {'User-Agent': 'Mozilla/5.0'}
req = urllib2.Request(urls,headers=hdr)
page = urllib2.urlopen(req)
soup = BeautifulSoup(page)
tournament=soup.findAll('div',{'class':['content-body']})
match_time = soup.find_all("div", style = "width:10%; float:left;")
match = soup.find_all("div", style = "width:46%; float:left; margin-left:2%; margin-right:2%")
tourny = soup.find_all("div", style = "width:40%; float:left; overflow:hidden;")
for tag in tournament:
for tag in match_time:
print tag.text
for tag1 in match:
print tag1.text
for tag2 in tourny:
print tag2.text
print '==============='
我曾嘗試一些其他的方法和循環,但沒有得到我想要什麼,我要的是結果:
match_date,比賽,圖爾尼
========= =========
和循環對所有這些我需要這把數據存儲在我的數據庫
如果我們使用CSS選擇器,它可以變得更容易 – Umair