抓取网页时调用JavaScript函数

3 投票
2 回答
2695 浏览
提问于 2025-04-17 10:08

我正在用Python抓取一个网页,这个网页上有:

<input name="Submit" type="button" class="btn" value="query"  onclick = "dataQuery();" /> 

我想在Python中触发这个onclick事件,我该怎么做,谢谢。

2 个回答

0

如果你想抓取网页上的信息,可以看看 scrapy 这个工具。

如果你需要提交一个表单,可以使用 FormRequest.from_response 这个方法:

class Spider(BaseSpider):

    name = 'my_spider_name'
    start_urls = ['http://www.domain.com/']
    allowed_domains = ['domain.com']
    advertiser = 'domain.com'


    def parse(self, response):
        """Parse first page and submit a form on it"""
        ...
        formdata = {'input1': '1234', 'input2': 5678} # overriden form data
        yield = FormRequest.from_response(response, 'form_name', formdata = formdata, 
                callback = self.parseFormSubmit)

想了解更多信息,可以查看 scrapy 的文档,并在这个网站上搜索带有 scrapy 标签的问题。

0

你可以使用 selenium 或者 HTMLUnit 来控制或模拟一个网页浏览器。

需要注意的是,如果你只是想抓取某个特定网站的数据,通常直接在自己的代码里重现那个网站的JavaScript逻辑会更简单。

撰写回答