[问题] 新手爬虫遇到Refresh如何解决?

楼主: jakeasa123 (啊斑斑)   2017-06-01 00:41:04
  各位前辈好,最近因为一点需求在撰写爬虫程式。先是参照了一些网络资源试作了一些常见网站(如高铁)的爬虫,虽然也碰上不少问题但都还算顺利解决。
  近期在整理某些领域的国内论文,因此花了不少时间在“台湾博硕士论文知识加值系统”里头,想说能不能用爬虫的方式,蒐集论文的基本资料再来筛选,但碰上了一个问题。
  在用以前的经验来撰写爬虫程式时,总会碰上重新导向的语法:“<META HTTP-EQUIV="Refresh" CONTENT="0; ……”,查了一些资料后发现requests.__部分有allow_redirects的参数可以使用,但就算设置其为False也没办法读到东西。应该说,貌似读到的东西也就只有那段重新导向的语法(或者是我程式上有大问题)。
  后续也Google了相关的资料,但还是没能解决这个问题,只好来此向各位询问,希望能获得一些指引或解答。
作者: kenduest (小州)   2017-06-01 01:38:00
meta 那算是 html 档案内容组成了,不是 requests本身处理的范围。你需要的是解析若有这段 meta内容抓出请求的 url= 后面指定的网址然后把抓出来的 url 丢给 requests.get 重抓内容处理要判断有无这类 meta 语法一般可以用 BeautifulSoup解析找这类内容,有找到拆解找出 url 网址拿来用requests 内所谓 allow_redirects 是说一般的 http请求对方回应 301, 302 这类回应代码时候,依据header 内 Location 字段指定的 url 来进行连结存取后续要登入啊 说是另外一个新的处理议题
作者: zerof (猫橘毛发呆雕像)   2017-06-01 13:17:00
试试 selenium

Links booklink

Contact Us: admin [ a t ] ucptt.com