首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网络抓取的网站,哪个是保护的In荚膜?

网络抓取的网站,哪个是保护的In荚膜?
EN

Stack Overflow用户
提问于 2018-11-22 09:57:23
回答 1查看 2.4K关注 0票数 0

我需要刮从网站这里的数据。这是受In荚膜保护的。我已经完成了两种方法,并且使用了Stack溢出用户提供的技术。

方法1

代码语言:javascript
复制
from incapsula import IncapSession

headers = {'Host': 'www.vignanam.org',
           'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/7.0.540.0 Safari/534.10',
           'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
           'Accept-Language': 'en-US,en;q=0.5',
           'Accept-Encoding': 'gzip, deflate',
           'Connection': 'keep-alive',
           'Cookie': 'visid_incap_1642409=B+YoelHCSKKN5z/Phs0zXCsF9VsAAAAAQUIPAAAAAACXaWvcNDXdMzcOky/SvffB; incap_ses'
                     '_715_1642409=kyFvSyJuuBVpNuh+aTHsCSsF9VsAAAAAKV6TIWTPSZmb+mOZWeuNHA==',
           'Upgrade-Insecure-Requests': '1'}

session = IncapSession()
response = session.get('http://www.vignanam.org/index.htm#&panel1-1', headers=headers, bypass_crack=True)

print response.text

方法2:

代码语言:javascript
复制
from mechanize import Browser
from bs4 import BeautifulSoup

browser = Browser()

browser.open('https://www.incapsula.com/blog/how-incapsula-protects-against-data-leaks.html')

print browser.response()

soup = BeautifulSoup(browser.response().read(), features='html5lib')

print soup

这两种方法产生的结果是相同的。

结果/输出

代码语言:javascript
复制
<html> 
<head> 
<META NAME="robots" CONTENT="noindex,nofollow"> 
<script src="/_Incapsula_Resource SWJIYLWA=5074a744e2e3d891814e9a2dace20bd4,719d34d31c8e3a6e6fffd425f7e032f3"> </script> 
<body> 
</body>
</html>

如何打破这一点,从那里刮取数据?还有其他编程语言可以克服这一点吗?

EN

回答 1

Stack Overflow用户

发布于 2018-11-22 10:15:37

这是:

代码语言:javascript
复制
import requests

requests.get('http://www.vignanam.org/index.htm#&panel1-1').text

对我来说很好。

我没有看到任何形式的保护,也没有阻止我的要求。

(curl http://www.vignanam.org/index.htm#&panel1-1也在bash工作)

返回:

代码语言:javascript
复制
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">\n<html xmlns="http://www.w3.org/1999/xhtml" itemscope itemtype="http://schema.org/Organization">\n<head>\n<title>Vaidika Vignanam - Vedic Chants, Siva, Vishnu, Devi\nStotrams, Annamayya, Tyagaraja, Ramadasa Keerthanas in Sanskrit, Hindi,\nTelugu, Tamil, Kannada, Malayalam, Gujarati, Bengali and Oriya</title>\n<link rel=stylesheet type="text/css" href="css/vignanam.css"/>\n<link rel=stylesheet href="css/anythingslider.css" type="text/css" media=screen />\n<link type="text/css" href="css/jquery-ui-1.8.12.custom.css" rel=Stylesheet />\n<link rel=stylesheet href=aqtree3clickable.css />\n<link rel=stylesheet href="css/glowtabs.css" type="text/css" media=screen />\n<meta content="text/html; charset=utf-8" http-equiv=Content-Type />\n<meta name=keywords content="vedas, vedic chants, shiva stotrams, vishnu stotrams, \n\t\tdevi ......
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53428274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档