js 爬虫抓取网页数据(:我输入一个之前从来没搜索过的型号却没有数据返回)

优采云 发布时间: 2021-11-14 05:07

  js 爬虫抓取网页数据(:我输入一个之前从来没搜索过的型号却没有数据返回)

  问题

  - - - - - - - - - - - - - 更新 - - - - - - - - - - - - ------

  谢谢你的想法。我在想是否可以通过分析网页交互找到一种方法。我仔细查看了元素中的网页代码,发现搜索结果是通过AJAX返回的一个链接的内容,也就是()我用python抓取了这个链接,从中可以得到我想要的。但是又遇到了一个问题:我在浏览器中搜索过设备型号,比如SC1894,python可以通过上面的链接抓取内容(浏览器也可以直接输入getsup链接)。如果我输入以前从未搜索过的模型但没有返回数据怎么办?在此之前我还有什么遗漏吗

  -------------------------原创问题----------------------- ----

  最近在学习爬取动态网页,想咨询一下:

  对比chrome F12的元素,我用下面代码抓取的网页内容缺少我想要的,例如

  之后我立即搜索了搜索结果的内容。看来我可以免费使用javescript。我需要如何操作才能获得它?我想征求意见

  import urllib.request

weburl = 'http://search.ickey.cn/?keyword=SC1894&num='

webheader = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}

req = urllib.request.Request(url = weburl, headers = webheader)

webPage = urllib.request.urlopen(req)

data = webPage.read()

data = data.decode('UTF-8')

print(data)

  解决方案

  网页是动态生成的。在抓取页面数据之前,思路应该是想办法获取动态生成的网页内容。如果你想这样做,你可以使用 PhantomJS 先加载相应的网页,然后再加载它。好的内容扔给Python,然后Python开始解析。

  添加:

  其实每个网站的爬取规则都不一样。如果你不是使用无头浏览器来做(我上面提到的方法),那么在分析API时,你必须看清楚API请求。当收录参数时(最基本的),请求方式,是否携带一些特定的http header等等。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线