[问题] 请问如何理解网页结构以抓资料

楼主: alubasteve (poorguy)   2019-04-27 17:29:24
版上各位先进大家好
我目前正在尝试用BeautifulSoup抓资料
但我碰到一个问题
我的程式有试出来
但是我发现我不懂如何使用RSS看到网页的XML版
这样日后会造成很大的麻烦
举例来说
我首先以YAHOO测试
https://tw.info.yahoo.com/rss/
然后以奇摩股市来当真正的目标
https://tw.stock.yahoo.com/rss/url/d/e/N2.html
因为我不知道如何看到XML版的资料
(原本书上可以,但我试不出来)
所以我反而是照著书尝试出成果
https://pastebin.com/5503ppZs
所以我完全不知道第5行程式里的item怎么来的
我也有尝试网页+F12
但是也找不到item
而且在程式的结果中
底下各个文章的标题的标签是<title>(例如第7行程式)
可是当我去看网页时
却是看到https://imgur.com/a/MUi5Vnu
根本没有出现title
所以我想请教
如何看到网页的内容
来决定要抓网页的那个相对应标签
例如看XML档案(其他方法亦可)
不然我以后要到别的网页抓资料根本走不下去
作者: dododavid006 (朔雪)   2019-04-27 18:08:00
你可以试着用 Python 内建的 urllib 或是如果你有request 也可以 去把你贴的那个网址抓下来后再存盘开你抓下来的档案应该就会看到 xml 了Yahoo 的网站有判断你是不是用浏览器开 如果用浏览器开你就会看到订阅 rss 的说明
楼主: alubasteve (poorguy)   2019-04-27 21:23:00
给dododavid006,多谢你的建议,我有去找资料https://reurl.cc/epq5m,不知为何上面两组程式的写法都没有反应,https://imgur.com/a/RYXcLK9https://imgur.com/a/qAchwwv,抱歉PASTEBIN忙线连不上再者,我也想请教您如何把结果抓下来存盘
作者: dododavid006 (朔雪)   2019-04-27 23:31:00
其实确实能抓下来 https://i.imgur.com/OpvFiOy.png至于存盘也只是方便你用其它软件读而已 就只是开档再把内容写进去而已with open("档名.xml", "wb"):with open("档名.xml", "wb") as f: # 更正f.write(urllib.request.urlopen("url").read())
作者: vi000246 (Vi)   2019-04-27 23:51:00
https://countwordsfree.com/xmlviewer用这个看就看得到xml格式了 你研究看看是什么原因造成直接用browser跟用rss reader取回来的资料差异可能是某个表头会让response吐xml 另个表头是吐回html你直接用rss xml python requests当关键字搜寻看看喔喔 一楼有解答了
楼主: alubasteve (poorguy)   2019-04-28 14:07:00
给dododavid006,感谢你的协助,我照着打你给的程式尝试,后面就有出现一堆资料,但也因此我发现了新问题出来的结果是网站的原始资料,所以不会出现中文名称而且结果是连续的出来,即使我转贴到WORD而比较有结构也依然没有中文,包含我用vi000246给的网站也是如此请问这是否代表这才是抓资料的常态,也就是要去猜字段因为我原本是想要让抓取字段资料汇出成档案例如WORD或是EXCEL,但这在那之前我要去懂如何猜字段与标签之间的关系才行?请问两位先进都是怎么做的呢?另外我也有试着用RSS阅读器,但不知为何是这样https://imgur.com/a/aOEAGs6,我是用Inoreader并没有出现档案的网页程式资料,请问我是挑错软件了吗还是我有地方不对,也想请教大家感谢dododavid006+vi000246,总算试出成果了https://pastebin.com/b84hJAaw另外还可以略做调整成这样(前面已知跳过去)https://pastebin.com/KAs4n5bA

Links booklink

Contact Us: admin [ a t ] ucptt.com