Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在抓取opengraph时遇到问题_Javascript_Html_Node.js_Web Scraping - Fatal编程技术网

Javascript 在抓取opengraph时遇到问题

Javascript 在抓取opengraph时遇到问题,javascript,html,node.js,web-scraping,Javascript,Html,Node.js,Web Scraping,我正试图用NodeJS从网页上抓取数据。我正在使用请求模块获取数据,并使用cheerio进行解析。然而,我注意到了一些事情:当我使用chrome访问一些页面(比如,)并检查源代码时,标签meta的属性property为og:title,正好有一个匹配项。如果我从我的节点刮板请求相同的页面并检查标记,我有108个meta标记,其属性property设置为og:title。我尝试过与用户代理打交道,但没有使用avent 差异的原因是什么 在这些网站上这样做是为了阻止刮擦吗 事实证明,我的问题是我的

我正试图用NodeJS从网页上抓取数据。我正在使用
请求
模块获取数据,并使用
cheerio
进行解析。然而,我注意到了一些事情:当我使用chrome访问一些页面(比如,)并检查源代码时,标签
meta
的属性
property
og:title
,正好有一个匹配项。如果我从我的节点刮板请求相同的页面并检查标记,我有108个
meta
标记,其属性
property
设置为
og:title
。我尝试过与用户代理打交道,但没有使用avent

  • 差异的原因是什么
  • 在这些网站上这样做是为了阻止刮擦吗

事实证明,我的问题是我的抓捕妄想症(我相信每个网站都在抓捕防御层后面锁定他们的信息)和我对cheerio缺乏知识的综合结果。对于任何有类似问题的人:

$(标记).attr(属性,值)
将每个
标记的
属性设置为值

要查找
属性设置为
值的所有
标记
,请执行以下操作:

$(tag[attribute = 'value']);

事实证明,我的问题是我的抓捕妄想症(我相信每个网站都在抓捕防御层后面锁定他们的信息)和我对cheerio缺乏知识的综合结果。对于任何有类似问题的人:

$(标记).attr(属性,值)
将每个
标记的
属性设置为值

要查找
属性设置为
值的所有
标记
,请执行以下操作:

$(tag[attribute = 'value']);