作者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://webptt.com/cn.aspx?n=bbs/Python/M.1627571581.A.78F.html
1F:→ a367560: 第一次使用PTT 有冒犯请原谅 你的局名data2 写在for的外 07/30 01:51
2F:→ a367560: 面 所以没有跟着更新 才会全部都是新庄副都心 07/30 01:52
3F:推 Supershero: 同楼上 另外建议变数名称取有意义一点比较易读 07/30 07:39
4F:推 Supershero: 解决方法有很多种 个人觉得不用在df 里append df 07/30 07:42
5F:→ jerrycurry: 不好意思我不太知道要怎麽把data2放在for的里面 我刚 07/30 12:44
6F:→ jerrycurry: 以为是把data2那个回圈放到add里面 结果跑了三个小时 07/30 12:44
7F:→ jerrycurry: 换成地址不变QQ 07/30 12:44
8F:→ jerrycurry: 回S大 df是什麽 惨了我一整个菜鸡 网路上的资源实在 07/30 12:46
9F:→ jerrycurry: 太杂了 07/30 12:46
10F:推 kwanza: df就是pandas的dataframe喔 07/30 14:04