2017-08-15 70 views
1

我正试图在Mac上进行一次dryscrape会话。我试图运行的代码如下:我该如何做一个dryscrape会议?

import dryscrape 
session = dryscrape.Session(base_url = 'http://google.com') 

但是当我运行它,我得到这个权限错误:

Traceback (most recent call last): 

    File "<ipython-input-37-5e3204f25ebb>", line 3, in <module> 
    session = dryscrape.Session(base_url = 'http://google.com') 

    File "/Users/MyName/anaconda/lib/python3.5/site-packages/dryscrape/session.py", line 22, in __init__ 
    self.driver = driver or DefaultDriver() 

    File "/Users/MyName/anaconda/lib/python3.5/site-packages/dryscrape/driver/webkit.py", line 30, in __init__ 
    super(Driver, self).__init__(**kw) 

    File "/Users/MyName/anaconda/lib/python3.5/site-packages/webkit_server.py", line 230, in __init__ 
    self.conn = connection or ServerConnection() 

    File "/Users/MyName/anaconda/lib/python3.5/site-packages/webkit_server.py", line 507, in __init__ 
    self._sock = (server or get_default_server()).connect() 

    File "/Users/MyName/anaconda/lib/python3.5/site-packages/webkit_server.py", line 450, in get_default_server 
    _default_server = Server() 

    File "/Users/MyName/anaconda/lib/python3.5/site-packages/webkit_server.py", line 416, in __init__ 
    stderr = subprocess.PIPE) 

    File "/Users/MyName/anaconda/lib/python3.5/subprocess.py", line 947, in __init__ 
    restore_signals, start_new_session) 

    File "/Users/MyName/anaconda/lib/python3.5/subprocess.py", line 1551, in _execute_child 
    raise child_exception_type(errno_num, err_msg) 

PermissionError: [Errno 13] Permission denied 

我试过在使用sudo的终端运行它,但我仍然会得到相同的错误。感谢您的帮助!注意:我会上传所有答案,并接受最好的答案。

回答

1

这是文档中的一个非常基本的例子。

import dryscrape 
import sys 

if 'linux' in sys.platform: 
    # start xvfb in case no X is running. Make sure xvfb 
    # is installed, otherwise this won't work! 
    dryscrape.start_xvfb() 

search_term = 'dryscrape' 

# set up a web scraping session 
sess = dryscrape.Session(base_url = 'http://google.com') 

# we don't need images 
sess.set_attribute('auto_load_images', False) 

# visit homepage and search for a term 
sess.visit('/') 
q = sess.at_xpath('//*[@name="q"]') 
q.set(search_term) 
q.form().submit() 

# extract all links 
for link in sess.xpath('//a[@href]'): 
    print(link['href']) 

# save a screenshot of the web page 
sess.render('google.png') 
print("Screenshot written to 'google.png'") 
+0

仍然有权限错误:( –

2

我有这样的工作:

# scrape.py 
import dryscrape 

s = dryscrape.Session() 
s.visit("https://www.google.com/search?q={}".format('query')) 
print(s.body().encode("utf-8")) 

应打印该HTML

我这样做:

python scrape.py > results.html 

在浏览器然后打开results.html检查

+0

我仍然得到一个'PermissionError:[Errno 13] Permission denied' –

相关问题