我正在尝试为浏览器自动测试套件和能够抓取的无头浏览器平台列出可能的解决方案列表.
浏览器测试/清除:
JAVASCRIPT
Node.js的
我想安装Lxml,然后我可以安装Scrapy.
当我今天更新我的Mac时它不会让我重新安装lxml,我收到以下错误:
In file included from src/lxml/lxml.etree.c:314:
/private/tmp/pip_build_root/lxml/src/lxml/includes/etree_defs.h:9:10: fatal error: 'libxml/xmlversion.h' file not found
#include "libxml/xmlversion.h"
^
1 error generated.
error: command 'cc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用brew来安装libxml2和libxslt,两者都安装得很好但我仍然无法安装lxml.
上次我安装时我需要在Xcode上启用开发人员工具,但由于它更新到Xcode 5,它不再给我这个选项了.
有谁知道我需要做什么?
我正在尝试通过pip在OSX 10.11(El Capitan)中安装Scrapy Python框架.安装脚本会下载所需的模块,并在某些时候返回以下错误:
OSError: [Errno 1] Operation not permitted: '/tmp/pip-nIfswi-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下命令停用OSX 10.11中的无根功能:
sudo nvram boot-args="rootless=0";sudo reboot
Run Code Online (Sandbox Code Playgroud)
但是当机器重新启动时我仍然会遇到同样的错误.
来自我的StackExchangers同事的任何线索或想法?
如果有帮助,则完整脚本输出如下:
sudo -s pip install scrapy
Collecting scrapy
Downloading Scrapy-1.0.2-py2-none-any.whl (290kB)
100% |????????????????????????????????| 290kB 345kB/s
Requirement already satisfied (use --upgrade to upgrade): cssselect>=0.9 in /Library/Python/2.7/site-packages (from scrapy)
Requirement already satisfied (use --upgrade to upgrade): queuelib in /Library/Python/2.7/site-packages (from scrapy)
Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from scrapy)
Collecting w3lib>=1.8.0 (from scrapy)
Downloading w3lib-1.12.0-py2.py3-none-any.whl
Collecting lxml (from scrapy) …Run Code Online (Sandbox Code Playgroud) 我最近一直在学习Python,并且正在努力构建一个web-scraper.它根本没什么特别的; 它的唯一目的是从博彩网站获取数据并将这些数据放入Excel.
大多数问题都是可以解决的,而且我有一点点混乱.但是,我在一个问题上遇到了巨大的障碍.如果网站加载了马匹表并列出了当前的投注价格,则此信息不在任何源文件中.线索是这些数据有时是有效的,数字显然是从某个远程服务器更新的.我的电脑上的HTML只是一个漏洞,他们的服务器正在推动我需要的所有有趣的数据.
现在我对动态网页内容的体验很低,所以这件事让我无法理解.
我认为Java或Javascript是一个关键,这经常会弹出.
刮刀只是一种赔率比较引擎.有些网站有API,但我需要这些API.我正在使用Python 2.7的scrapy库
如果这个问题太开放,我真的很抱歉.简而言之,我的问题是:如何使用scrapy来抓取这些动态数据,以便我可以使用它?这样我就可以实时抓取这个赔率数据?
我想建立一个网站,显示亚马逊和电子海湾产品价格之间的比较.哪个更好,为什么?我对BeautifulSoup有点熟悉,但与Scrapy爬虫不太相似.
我试图将用户定义的参数传递给scrapy的蜘蛛.任何人都可以建议如何做到这一点?
我在-a某处读到了一个参数,但不知道如何使用它.
我正在使用Python 2.7开发Scrapy 0.20.我发现PyCharm有一个很好的Python调试器.我想用它来测试我的Scrapy蜘蛛.有人知道怎么做吗?
实际上我试图将蜘蛛作为一个脚本运行.结果,我构建了这个脚本.然后,我尝试将我的Scrapy项目添加到PyCharm作为这样的模型:
File->Setting->Project structure->Add content root.
Run Code Online (Sandbox Code Playgroud)
但我不知道还有什么需要做的
我正在尝试安装lxml以在我的Mac上安装scrapy(v 10.9.4)
??ishaantaylor@Ishaans-MacBook-Pro.local ~
??? pip install lxml
Downloading/unpacking lxml
Downloading lxml-3.4.0.tar.gz (3.5MB): 3.5MB downloaded
Running setup.py (path:/private/var/folders/8l/t7tcq67d34v7qq_4hp3s1dm80000gn/T/pip_build_ishaantaylor/lxml/setup.py) egg_info for package lxml
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
warnings.warn(msg)
Building lxml version 3.4.0.
Building without Cython.
Using build configuration of libxslt 1.1.28
warning: no previously-included files found matching '*.py'
Installing collected packages: lxml
Running setup.py install for lxml
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
warnings.warn(msg)
Building lxml version 3.4.0.
Building without Cython.
Using build configuration of libxslt 1.1.28
building 'lxml.etree' …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用scrapy从网页上抓取产品信息.我的待删节网页如下所示:
我试图复制next-button-ajax-call但是无法正常工作,所以我试试了selenium.我可以在一个单独的脚本中运行selenium的webdriver,但我不知道如何与scrapy集成.我应该把硒部分放在我的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
Run Code Online (Sandbox Code Playgroud)
任何想法都表示赞赏.谢谢!
我有一个包含多个蜘蛛的scrapy项目.有什么方法可以定义哪些管道用于哪个蜘蛛?并非我所定义的所有管道都适用于每个蜘蛛.
谢谢
scrapy ×10
python ×9
macos ×3
web-crawler ×3
lxml ×2
python-2.7 ×2
selenium ×2
web-scraping ×2
ajax ×1
casperjs ×1
debugging ×1
javascript ×1
phantomjs ×1
pip ×1
pycharm ×1
xcode ×1