2016-10-10 49 views
0

我試圖從一塊美麗的湯HTML提取一些鏈接,並將它們追加到一個新的熊貓數據框的行。追加鏈接到熊貓df新行後使用美麗的

到目前爲止,我有這樣的代碼:

url = "http://www.reed.co.uk/jobs 
datecreatedoffset=Today&isnewjobssearch=True&pagesize=100" 
r = ur.urlopen(url).read() 
soup = BShtml(r, "html.parser") 
adcount = soup.find_all("div", class_="pages") 
print(adcount) 

從我的輸出,那麼我想利用每一個環節,通過HREF =標識「」,並存儲每個人在大熊貓數據幀的新行。

使用上面的代碼片段,我最終將在我的新數據集中有6行。

任何幫助,將不勝感激!

+1

您提供的網址給出了404 –

回答

1

您的鏈接給出了404,但邏輯應該與下面相同。你只需要與類提取錨標記,並將其加入到基礎URL:

import pandas as pd 
from urlparse import urljoin 
import requests 

base = "http://www.reed.co.uk/jobs" 

url = "http://www.reed.co.uk/jobs?keywords=&location=&jobtitleonly=false" 
r = requests.get(url).content 
soup = BeautifulSoup(r, "html.parser") 

df = pd.DataFrame(columns=["links"], data=[urljoin(base, a["href"]) for a in soup.select("div.pages a.page")]) 

print(df) 

它給你:

          links 
0 http://www.reed.co.uk/jobs?cached=True&pageno=2 
1 http://www.reed.co.uk/jobs?cached=True&pageno=3 
2 http://www.reed.co.uk/jobs?cached=True&pageno=4 
3 http://www.reed.co.uk/jobs?cached=True&pageno=5 
4 http://www.reed.co.uk/jobs?cached=True&pageno=... 
5 http://www.reed.co.uk/jobs?cached=True&pageno=2 
+0

謝謝帕德里克。對於緩慢的答覆表示歉意 - 這是一個側面項目,直到現在,我還沒有機會再看看它。這正是我所期待的,並且會花費我更多的時間來弄清楚。 我略加改變,所以我剛開始今天的帖子的網址,並在頁面限制爲100它看起來像這樣的結尾: –

+0

'code'進口大熊貓作爲PD 從進口的urllib.parse urljoin 進口要求 base =「http://www.reed.co.uk/jobs」 url =「http://www.reed.co.uk/jobs?datecreatedoffset=Today&pagesize=100」 r = requests.get (url).content soup = BShtml(r,「html.parser」) df = pd.DataFrame(columns = [「links」],data = [urljoin(base,a [「href」])for a在soup.select(「div.pages a.page」)]) df'code' –

+0

對不起前面的po ST。它應該是: '進口大熊貓從進口的urllib.parse PD urljoin 導入請求 基地= 「http://www.reed.co.uk/jobs」 URL =「HTTP:// WWW .default.co.uk/jobs?datecreatedoffset = Today&pagesize = 100「 r = requests.get(url).content soup = BShtml(r,」html.parser「) df = pd.DataFrame(columns = [ 「links」],data = [urljoin(base,a [「href」])for a soup.select(「div.pages a.page」)]) df' –