相关疑难解决方法(0)

是否可以在Selenium RC中隐藏浏览器?

我正在使用Selenium RC自动执行某些浏览器操作,但我希望浏览器不可见.这可能吗?怎么样?那么Selenium Grid呢?我也可以隐藏Selenium RC窗口吗?

python selenium selenium-rc

91
推荐指数
5
解决办法
8万
查看次数

使用python-Scrapy刮擦动态内容

免责声明:我在StackOverflow上看过很多其他类似的帖子,并尝试以同样的方式做到这一点,但他们似乎没有在这个网站上工作.

我正在使用Python-Scrapy从koovs.com获取数据.

但是,我无法获得动态生成的产品大小.具体来说,如果有人可以通过链接的下拉菜单指导我获取"不可用"尺寸标签,我将不胜感激.

我能够静态获取大小列表,但这样做我只获得大小列表,但不能获得哪些大小.

python scrapy web-scraping

36
推荐指数
2
解决办法
4万
查看次数

scrapy:将html字符串转换为HtmlResponse对象

我有我要转换为HTML scrapy响应对象,这样我就可以使用选择一个原始的HTML串cssxpath,类似scrapy的response.我该怎么做?

python scrapy web-scraping

21
推荐指数
2
解决办法
8480
查看次数

创建一个通用的scrapy蜘蛛

我的问题是如何做与前一个问题相同的事情,但在Scrapy 0.14中.

在一些网站上使用一个Scrapy蜘蛛

基本上,我有GUI,它采用域,关键字,标签名称等参数,我想创建一个通用的蜘蛛来抓取那些域中的那些关键字.我通过覆盖蜘蛛管理器类或动态创建蜘蛛来阅读使用旧版scrapy的冲突内容.首选哪种方法,如何实施和调用正确的解决方案?提前致谢.

这是我想要通用的代码.它还使用BeautifulSoup.我把它配对了所以希望没有删除任何关键的理解它.

class MySpider(CrawlSpider):

name = 'MySpider'
allowed_domains = ['somedomain.com', 'sub.somedomain.com']
start_urls = ['http://www.somedomain.com']

rules = (
    Rule(SgmlLinkExtractor(allow=('/pages/', ), deny=('', ))),

    Rule(SgmlLinkExtractor(allow=('/2012/03/')), callback='parse_item'),
)

def parse_item(self, response):
    contentTags = []

    soup = BeautifulSoup(response.body)

    contentTags = soup.findAll('p', itemprop="myProp")

    for contentTag in contentTags:
        matchedResult = re.search('Keyword1|Keyword2', contentTag.text)
        if matchedResult:
            print('URL Found: ' + response.url)

    pass
Run Code Online (Sandbox Code Playgroud)

python web-crawler scrapy

16
推荐指数
1
解决办法
5863
查看次数

使用python无限滚动的爬网站点

我一直在做研究,到目前为止我发现了我将计划使用它的scrapy的 python 包,现在我试图找出使用scrapy构建爬虫以无限滚动来爬取站点的好方法。在挖掘之后我发现有一个包调用 selenium 并且它有 python 模块。我有一种感觉,有人已经使用 Scrapy 和Selenium通过无限滚动来抓取站点。如果有人能指出一个例子,那就太好了。

python selenium web-crawler scrapy

8
推荐指数
3
解决办法
2万
查看次数

执行Javascript使用python中的scrapy提交表单函数

我正在使用scrapy框架废弃网站,并且无法点击javascript链接以打开另一个页面.

我可以将页面上的代码识别为:

<a class="Page" alt="Click to view job description" title="Click to view job description" href="javascript:sysSubmitForm('frmSR1');">Accountant&nbsp;</a>
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我如何在scaroy中执行该javascript并通过我可以从该页面获取数据来获取另一页.

提前致谢

python scrapy

6
推荐指数
2
解决办法
2万
查看次数

将硒响应网址传递给scrapy

我正在学习Python,并试图在下拉菜单中抓取此页面以获取特定值.之后,我需要单击结果表上的每个项目以检索特定信息.我能够选择项目并检索webdriver上的信息.但我不知道如何将响应URL传递给crawlspider.

driver = webdriver.Firefox()
driver.get('http://www.cppcc.gov.cn/CMS/icms/project1/cppcc/wylibary/wjWeiYuanList.jsp')
more_btn = WebDriverWait(driver, 20).until(
     EC.visibility_of_element_located((By.ID, '_button_select'))
            )  
more_btn.click()

## select specific value from the dropdown
driver.find_element_by_css_selector("select#tabJcwyxt_jiebie >     option[value='teyaoxgrs']").click()
driver.find_element_by_css_selector("select#tabJcwyxt_jieci > option[value='d11jie']").click()
search2 = driver.find_element_by_class_name('input_a2')
search2.click()
time.sleep(5)

## convert html to "nice format"
text_html=driver.page_source.encode('utf-8')
html_str=str(text_html)

## this is a hack that initiates a "TextResponse" object (taken from the Scrapy module)
resp_for_scrapy=TextResponse('none',200,{},html_str,[],None)

## convert html to "nice format"
text_html=driver.page_source.encode('utf-8')
html_str=str(text_html)

resp_for_scrapy=TextResponse('none',200,{},html_str,[],None)
Run Code Online (Sandbox Code Playgroud)

所以这就是我被困住的地方.我能够使用上面的代码进行查询.但是如何将resp_for_scrapy传递给crawlspider?我把resp_for_scrapy替换为项目但是没有用.

## spider 
class ProfileSpider(CrawlSpider):
name …
Run Code Online (Sandbox Code Playgroud)

python selenium scrapy

6
推荐指数
2
解决办法
9981
查看次数

刮HTML和JavaScript

我正在开展一个项目,我需要抓取几个网站并从中收集不同类型的信息.文本,链接,图像等信息

我正在使用Python.我在HTML页面上为此目的尝试了BeautifulSoup并且它可以工作,但是在解析包含大量JavaScript的网站时我很困难,因为这些文件的大部分信息都存储在<script>标记中.

任何想法如何做到这一点?

javascript python parsing web-crawler web-scraping

5
推荐指数
1
解决办法
9700
查看次数

网页抓取:自动点击按钮

我正在尝试使用Scrapy(一个python框架)从网站上删除数据.我可以使用蜘蛛从网站上获取数据,但是当我尝试浏览网站时会出现问题.

根据这篇文章,Scrapy不能很好地处理Javascript.

另外,如接受的答案所述,我不能使用mechanize或lxml.它建议使用组合Selenium and Scrapy.

按钮的功能:

我正在浏览网站上的优惠.按钮的功能是显示更多优惠.所以点击它,它会调用一个加载结果的javascript函数.

我也在看CasperJS and PhantomJS.他们会工作吗?

我只需要自动点击一个按钮.我该怎么做?

javascript python selenium scrapy web-scraping

5
推荐指数
1
解决办法
4160
查看次数

web抓取一个网页,其中包含通过ajax加载的动态内容

说我希望在这个页面上刮取产品(http://shop.coles.com.au/online/national/bread-bakery/fresh/bread#pageNumber=2¤tPageSize=20)

但是产品是从post请求中加载的.这里很多帖子建议模拟一个请求得到动态的内容,但在我的情况下,Form Data对我来说是未知的,即catalogId,categoryId.

我想知道response在ajax呼叫结束后有可能得到它吗?

python scrapy web-scraping

5
推荐指数
1
解决办法
214
查看次数

在 Scrapy 响应中执行内联 JavaScript

我正在尝试使用 Scrapy 登录网站,但收到的响应是仅包含内联 JavaScript 的 HTML 文档。JS 重定向到我想从中抓取数据的页面。但是 Scrapy 不执行 JS,因此不会路由到我想要的页面。

我使用以下代码提交所需的登录表单:

    def parse(self, response):
      request_id =   response.css('input[name="request_id"]::attr(value)').extract_first()
      data = {
          'userid_placeholder': self.login_user,
          'foilautofill': '',
          'password': self.login_pass,
          'request_id': request_id,
          'username': self.login_user[1:]
      }
      yield   scrapy.FormRequest(url='https://www1.up.ac.za/oam/server/auth_cred_submit',   formdata=data,
                               callback=self.print_p)
Run Code Online (Sandbox Code Playgroud)

print_p 回调函数如下:

def print_p(self, response):
    print(response.text)
Run Code Online (Sandbox Code Playgroud)

我看过scrapy-splash,但找不到在响应中使用scrapy-splash执行JS的方法。

javascript python scrapy scrapy-splash splash-js-render

3
推荐指数
1
解决办法
2657
查看次数

使用Scrapy模拟JavaScript按钮单击

我的目的是在这个网页上运行scrapy爬虫:http://visit.rio/en/o-que-fazer/outdoors/ .但是,id ="container"上有一些资源只能通过JavaScript按钮("VER MAIS")加载.我读过一些关于硒的东西,但我什么都没有.

javascript python web-crawler scrapy

0
推荐指数
1
解决办法
5006
查看次数