作者neiltsang (楚留香鸡排)
看板Python
标题[问题] 请问爬虫 bs4的撷取方法?
时间Mon Jun 29 21:38:52 2020
如题目
用原始码会是一片这样
logged_user = false;
var static_id_cdn = 2;
var html5player = new HTML5Player('html5video', '25522515');
if (html5player) {
html5player.setVideoTitle(');
html5player.setSponsors([{}]);
html5player.setVideoUrlLoW...........
其实还满整齐的
我所要的网址都摆在了html5player.setVideoUrlLow里面
使用bs4是好选择吗?该如何操作?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.220.255.143 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1593437935.A.94F.html
1F:→ mychiux413: bs4不能解析js,如果re能抓出来就re吧,下策就seleni 06/30 00:03
2F:→ mychiux413: um 06/30 00:03
3F:→ alvinlin: 嗯。通常是去看js完後它把资料丢哪去了。然後去抓那个结 06/30 01:36
4F:→ alvinlin: 果 06/30 01:36
5F:→ alvinlin: 建议可以po个网址来看看省时间 06/30 01:37
6F:推 aidansky0989: 请问碰到html会先用xpath还是bs4?两个不太会选 07/01 08:25
7F:→ alvinlin: bs4有css也有xpath.如果用parsel(scrapy)只有xpath.所以 07/01 13:26
8F:推 alvinlin: bs4有个参数有html.parser/lxml/html5lib但只是速度不同 07/01 13:29
9F:→ alvinlin: 或你也可以用html.parser模组的HTMLParser类自己刻一个 07/01 13:32
10F:→ alvinlin: 或用html2text模组不parse自己去找内容 07/01 13:35
11F:→ alvinlin: 所以bs4和xpath不是对比的选择.而是xpath是bs4的选项之1 07/01 13:40
12F:→ alvinlin: bs4不能解析js是因为js需要浏览器才能跑(除非是node.js) 07/01 13:42
13F:→ OrzOGC: 我都爬出来找,xpath直接放弃...XD 07/01 15:01
14F:推 aidansky0989: 感谢大大解答 07/01 15:20
15F:→ alvinlin: ^^ 07/06 23:24
16F:→ alvinlin: 如果还是说明不清楚可以说 07/06 23:25
17F:→ alvinlin: 通常是css和xpath混用吧看哪一个可以达到目标 07/06 23:29