作者ajsaak (光)
看板Python
標題[問題] 網頁資料擷取問題
時間Thu Dec 24 20:16:07 2015
有幾個問題想問問,本身沒程式基礎,參考一些文章使用下面的指令
import urllib2
from bs4 import BeautifulSoup
url = '
http://zh.divine-gate.wikia.com/wiki/1509'
request = urllib2.Request(url)
request.add_header('Accept-Encoding', 'utf-8')
response = urllib2.urlopen(request)
soup = BeautifulSoup(response)
print soup.text
問題1.最後顯示出來,仍然有許多不需要的部分,用Infolite取得表格文字在
td跟th部分嘗試改成print soup.select('td'),但卻變成似乎有亂碼的情況
問題2.現在是使用notebooks操作,如果要輸入成擋案成純文本該如何作?改成py檔
執行完就直接不見了
問題3.如果要大量擷取,要如何修改呢?
如:
http://zh.divine-gate.wikia.com/wiki/xxxx XXXX=1~1500
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.237.87.78
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1450959371.A.535.html
推 alair99: 用迴圈來變更url參數 12/24 23:41
→ alair99: 很實用 12/24 23:44
→ ajsaak: 這網站我有看,也是跟著學BS4篩選 但不篩選不會有亂碼 12/25 13:07
→ ajsaak: 加上篩選條件 卻有亂碼 但輸入已加上UTF8了? 12/25 13:07
推 alair99: 你說的亂碼是td標籤那些嗎 XD 12/25 15:33
→ ajsaak: 不是喔 是如果篩選Td下的部分 會變成\u6c42\u3081\u308b\ 12/25 19:24
→ ajsaak: 這樣 12/25 19:25
→ s860134: 從他 print 的方式就知道是2.X 了 又是unicode的問題 12/25 20:31
→ s860134: 你可以嘗試 a = u"\u6c42\u3081\u308b";print(a) 12/25 20:32
→ ajsaak: 這樣還是不行 試了幾個方法後 改用3.5就OK了 12/26 13:10