Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 内部元素<;span>;找不到带着靓汤回来的标签_Python_Html_Parsing_Beautifulsoup - Fatal编程技术网

Python 内部元素<;span>;找不到带着靓汤回来的标签

Python 内部元素<;span>;找不到带着靓汤回来的标签,python,html,parsing,beautifulsoup,Python,Html,Parsing,Beautifulsoup,我曾经尝试过使用BeautifulSoup和Python从网站抓取数据 当我检查网站本身时,我看到以下内容: "<span id="test"> 567 </span>" “567” 但当我用漂亮的汤时,我看到的是: "<span id="test"></span>" “” 似乎出于安全和保护目的,该号码已被隐藏,但如何从解析中获取此信息?我认为它是一个动态的JS元素,但我不确定如何访问它。下面是一个实现它的示例代码: import scr

我曾经尝试过使用BeautifulSoup和Python从网站抓取数据

当我检查网站本身时,我看到以下内容:

"<span id="test"> 567 </span>"
“567”
但当我用漂亮的汤时,我看到的是:

"<span id="test"></span>"
“”

似乎出于安全和保护目的,该号码已被隐藏,但如何从解析中获取此信息?我认为它是一个动态的JS元素,但我不确定如何访问它。

下面是一个实现它的示例代码:

import scrapy
from selenium import webdriver
from bs4 import BeautifulSoup as bs

class SomeSpider(scrapy.Spider):
    name = "some"
    allowed_domains = ["yourdomain.com"]

    def __init__(self, *a, **kw):
        super(SomeSpider, self).__init__(*a, **kw)
        self.start_urls = ['http://www.yoururl.com',]
        firefox_profile = webdriver.FirefoxProfile()
        self.driver = webdriver.Firefox(firefox_profile=firefox_profile) 


   def parse(self, response):
       self.driver.get(response.url)
       page = TextResponse(response.url, body=self.driver.page_source, encoding='utf-8')  

      #HERE whatever you want do do eg. text = page.xpath('//span[@id="test"]').extract_first()

首先使用webdriver加载页面,然后使用
beautifulsoup
提取文本。