Questions tagged «web-scraping»

Web抓取是从不容易提供API或其他自动数据检索方法的网站中提取特定信息的过程。由于有许多功能代码示例可供使用,因此应该“彻底研究”关于“如何开始进行爬取”(例如Excel VBA)的问题。Web抓取方法包括第三方应用程序,自定义软件的开发,甚至以标准化方式进行的手动数据收集。

30
HTML抓取的选项?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我正在考虑尝试Beautiful Soup,一个用于HTML抓取的Python包。还有其他我应该查看的HTML抓包工具吗?Python不是必需的,我实际上也对其他语言感兴趣。 到目前为止的故事: 蟒蛇 美丽的汤 xml文件 HTQL cra草 机械化 红宝石 能吉里 杏 机械化 scrAPI scrubyt! 袋熊 瓦蒂尔 。净 HTML敏捷包 瓦丁 佩尔 WWW ::机械化 网页抓取工具 爪哇 标签汤 HtmlUnit 网络收割 防护 so Jericho HTML解析器 的JavaScript 请求 欢乐 阿图 节点马 幻影 的PHP 古特 htmlSQL PHP简单HTML DOM解析器 使用CURL进行PHP爬取 猩红查询 他们大多数 屏幕刮板

16
如何按类别查找元素
我在使用Beautifulsoup解析具有“ class”属性的HTML元素时遇到了麻烦。代码看起来像这样 soup = BeautifulSoup(sdata) mydivs = soup.findAll('div') for div in mydivs: if (div["class"] == "stylelistrow"): print div 脚本完成后的同一行出现错误。 File "./beautifulcoding.py", line 130, in getlanguage if (div["class"] == "stylelistrow"): File "/usr/local/lib/python2.6/dist-packages/BeautifulSoup.py", line 599, in __getitem__ return self._getAttrMap()[key] KeyError: 'class' 我如何摆脱这个错误?

3
无头浏览器和抓取-解决方案
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 我正在尝试列出适用于浏览器自动测试套装和能够抓取的无头浏览器平台的可能解决方案。 浏览器测试/报废: 硒 - 通晓多国语言的浏览器自动化的旗舰,为Python和Ruby,JavaScript中,C#,Haskell和更多,IDE的Firefox(作为扩展),更快的测试部署绑定。可以充当服务器并具有大量功能。 JAVASCRIPT PhantomJS - JavaScript使用Webkit进行无头测试,包括屏幕捕获和自动化。从1.8版开始,Selenium的WebDriver API已实现,因此您可以使用任何WebDriver绑定,并且测试将与Selenium兼容 SlimerJS-与PhantomJS相似,使用Gecko(Firefox)代替WebKit CasperJS - JavaScript的,建立在两个PhantomJS和SlimerJS,具有额外的功能 幽灵驱动程序 - 的JavaScript执行的webdriver的Wire协议的PhantomJS。 新的 PhantomCSS -CSS回归测试。一个CasperJS模块,用于使用PhantomJS和 Resemble.js自动化视觉回归测试。 新 WebdriverCSS -插件为 Webdriver.io自动化视觉回归测试 新的 PhantomFlow-描述和可视化通过测试的用户流程。Web用户界面测试的实验方法。 新的 trifleJS-移植 PhantomJS API以使用Internet Explorer引擎。 新的 CasperJS IDE (商业) NODE.JS Node- phantom-弥合PhantomJS和node.js之间的鸿沟 WebDriverJs -Selenium Team对node.js的Selenium WebDriver绑定 WD.js …

6
如何获得任何URL或网页的Google缓存年龄?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 2年前关闭。 改善这个问题 在我的项目中,我需要添加Google缓存年龄作为重要信息。我尝试搜索Google缓存年龄(即Google上次为列出的页面重新编制索引以来的天数)的来源。 在哪里可以获得Google缓存的时间?

3
哪种HTML解析器是最好的?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我编写了很多解析器。到目前为止,我一直使用HtmlUnit无头浏览器进行解析和浏览器自动化。 现在,我想将两个任务分开。 由于我80%的工作仅涉及解析,因此我想使用一个简单的HTML解析器,因为在HtmlUnit中花很多时间才能首先加载页面,然后获取源然后解析它。 我想知道哪个HTML解析器是最好的。如果解析器与HtmlUnit解析器接近,则解析器会更好。 编辑: 最好的情况是,我至少需要以下功能: 速度 通过其“ id”或“ name”或“ tag type”轻松查找任何HtmlElement。 如果不清除脏HTML代码,对我来说可以。我不需要清理任何HTML源。我只需要一种最简单的方法即可在HtmlElements之间移动并从中获取数据。

13
如何使用Python使用Selenium选择下拉菜单值?
我需要从中选择一个元素 下拉菜单中。 例如: <select id="fruits01" class="select" name="fruits"> <option value="0">Choose your fruits:</option> <option value="1">Banana</option> <option value="2">Mango</option> </select> 1)首先,我必须单击它。我这样做: inputElementFruits = driver.find_element_by_xpath("//select[id='fruits']").click() 2)之后,我必须选择一个好的元素,让我们说Mango。 我尝试这样做,inputElementFruits.send_keys(...)但是没有用。

14
使用Python网页抓取JavaScript页面
我正在尝试开发一个简单的网页抓取工具。我想提取没有HTML代码的文本。实际上,我实现了这个目标,但是我发现在某些加载了JavaScript的页面中,我没有获得良好的结果。 例如,如果一些JavaScript代码添加了一些文本,则看不到它,因为当我调用 response = urllib2.urlopen(request) 我得到的原始文本没有添加文本(因为在客户端执行了JavaScript)。 因此,我正在寻找一些解决此问题的想法。

4
使用XML包将html表刮成R数据帧
如何使用XML包抓取html表? 以巴西足球队的维基百科页面为例。我想在R中阅读它,并获得“巴西与FIFA认可的球队进行的所有比赛的清单”表作为data.frame。我怎样才能做到这一点?
153 html  r  xml  parsing  web-scraping 



4
如何使用Python请求伪造浏览器访问?
我想从下面的网站获取内容。如果使用Firefox或Chrome这样的浏览器,则可以获取所需的真实网站页面,但是如果使用Python request软件包(或wget命令)进行获取,则它将返回完全不同的HTML页面。我以为网站的开发人员为此做了一些阻碍,所以问题是: 如何使用python请求或命令wget伪造浏览器访问? http://www.ichangtou.com/#company:data_000008.html

7
木偶:在.evaluate()中传递变量
我正在尝试将变量传递给Puppeteer中的page.evaluate()函数,但是当我使用以下非常简单的示例时,该变量未定义。evalVar 我是Puppeteer的新手,找不到任何可建立的示例,因此我需要帮助将该变量传递到page.evaluate()函数中,以便在内部使用它。 const puppeteer = require('puppeteer'); (async() => { const browser = await puppeteer.launch({headless: false}); const page = await browser.newPage(); const evalVar = 'WHUT??'; try { await page.goto('https://www.google.com.au'); await page.waitForSelector('#fbar'); const links = await page.evaluate((evalVar) => { console.log('evalVar:', evalVar); // appears undefined const urls = []; hrefs = document.querySelectorAll('#fbar #fsl …

17
报废:SSL:http://en.wikipedia.org的CERTIFICATE_VERIFY_FAILED错误
我正在练习“使用Python进行网页搜刮”中的代码,但始终遇到此证书问题: from urllib.request import urlopen from bs4 import BeautifulSoup import re pages = set() def getLinks(pageUrl): global pages html = urlopen("http://en.wikipedia.org"+pageUrl) bsObj = BeautifulSoup(html) for link in bsObj.findAll("a", href=re.compile("^(/wiki/)")): if 'href' in link.attrs: if link.attrs['href'] not in pages: #We have encountered a new page newPage = link.attrs['href'] print(newPage) pages.add(newPage) getLinks(newPage) …

2
从网站抓取数据的最佳方法是什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 改善这个问题 我需要从网站中提取内容,但是该应用程序不提供任何应用程序编程接口或其他机制来以编程方式访问该数据。 我找到了一个有用的第三方工具Import.io,该工具提供了用于抓取网页和构建数据集的即点即用功能,唯一的是我想将数据保存在本地,并且我不想订阅任何订阅计划。 该公司使用哪种技术来抓取网页并构建其数据集?我发现一些网页抓取框架pjscrape和Scrapy是否可以提供这样的功能

2
硒与scrapy的动态页面
我正在尝试使用scrapy从网页上抓取产品信息。我的待刮网页如下所示: 从包含10个产品的product_list页面开始 单击“下一步”按钮将加载下10个产品(两个页面之间的网址不变) 我使用LinkExtractor跟随每个产品链接进入产品页面,并获取我需要的所有信息 我尝试复制下一个按钮的ajax调用,但是无法正常工作,因此我尝试使用硒。我可以在单独的脚本中运行selenium的webdriver,但我不知道如何与scrapy集成。硒部分应该放在哪里我的蜘蛛网中? 我的蜘蛛非常标准,如下所示: class ProductSpider(CrawlSpider): name = "product_spider" allowed_domains = ['example.com'] start_urls = ['http://example.com/shanghai'] rules = [ Rule(SgmlLinkExtractor(restrict_xpaths='//div[@id="productList"]//dl[@class="t2"]//dt'), callback='parse_product'), ] def parse_product(self, response): self.log("parsing product %s" %response.url, level=INFO) hxs = HtmlXPathSelector(response) # actual data follows 任何想法表示赞赏。谢谢!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.