作者jerrycurry (嘎哩)
看板Python
標題[問題] 郵局網路爬蟲輸出csv問題
時間Thu Jul 29 23:12:59 2021
各位大大好
小弟非本科 完全沒接觸過程式語言
最近因為工作關係開始學習python
目前只要使用爬蟲相關
日前爬了郵局的網站
但是在局名的部分似乎有點問題
檔案輸出後通通都變成同一間(新莊副都心)
另外兩行的資料是正確的
想請問大家能否協助我修改
謝謝各位
以下附上函式
——————————
import urllib.request as req
import pandas as pd
import csv
data = {'縣市':[""],'局名':[""],'地址':[""] }
storelist = pd.DataFrame(data)
storelist_ = pd.DataFrame(data)
url="
https://www.post.gov.tw/post/internet/I_location/index_all.html"
request=req.Request(url, headers={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
})
with req.urlopen(request) as response:
data=response.read().decode("utf-8")
import bs4
root=bs4.BeautifulSoup(data, "html.parser")
titles=root.find_all("td", class_="detail2")
for title in titles:
if title.a !=None:
data2=title.a.string
adds=root.find_all("td",class_="detail")
for add in adds:
data1=add.string[0:3]
data3=add.string
storelist_['縣市']=data1
storelist_['局名']=data2
storelist_['地址']=data3
storelist = storelist.append(storelist_)
storelist.to_csv("D:\Mypython/test.csv",encoding="utf-8-sig")
弱弱的問一下 我看板上的大大可以傳一張圖 然後大家可以直接複製函式就不會像我這樣落落長
那是怎麼用的阿?
感謝各位
--
Sent from nPTT on my iPhone 7
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.149.6 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1627571581.A.78F.html
→ a367560: 第一次使用PTT 有冒犯請原諒 你的局名data2 寫在for的外 07/30 01:51
→ a367560: 面 所以沒有跟著更新 才會全部都是新莊副都心 07/30 01:52
推 Supershero: 同樓上 另外建議變數名稱取有意義一點比較易讀 07/30 07:39
推 Supershero: 解決方法有很多種 個人覺得不用在df 裡append df 07/30 07:42
→ jerrycurry: 不好意思我不太知道要怎麼把data2放在for的裡面 我剛 07/30 12:44
→ jerrycurry: 以為是把data2那個迴圈放到add裡面 結果跑了三個小時 07/30 12:44
→ jerrycurry: 換成地址不變QQ 07/30 12:44
→ jerrycurry: 回S大 df是什麼 慘了我一整個菜雞 網路上的資源實在 07/30 12:46
→ jerrycurry: 太雜了 07/30 12:46
推 kwanza: df就是pandas的dataframe喔 07/30 14:04