相关疑难解决方法(0)

Scrapy或Selenium或Mechanize来刮取网页数据?

我想从网站上抓一些数据.

基本上,该网站有一些表格显示,显示约50条记录.要获得更多记录,用户必须单击某个按钮进行ajax调用get并显示接下来的50条记录.

我以前有过Selenium webdriver(Python)的知识.我可以在Selenium中快速完成这项工作.但是,Selenium是一种更自动化的测试工具,它非常慢.

我做了一些研发,发现使用Scrapy或Mechanize,我也可以做同样的事情.

我应该为此选择Scrapy或Mechanize或Selenium吗?

mechanize scrapy web-scraping selenium-webdriver

11
推荐指数
1
解决办法
6897
查看次数

Python提交表单并获得回复

我的一般问题:我如何提交表格,然后通过python程序从网站获得回复?

我的具体:我想发送一些像Ajax XHR发送到Web文件并从中获得响应的问题.

  • 我不想使用任何浏览器,并在像这个链接的代码中这样.

  • 我读过这些文章,他们只是让我感到困惑,无法找到有关它的好记录.

python

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

Django:将 HTML(包含表单)解析为字典

我在服务器端创建了一个 html 表单。

<form action="." method="POST">
 <input type="text" name="foo" value="bar">
 <textarea name="area">long text</textarea>
 <select name="your-choice">
  <option value="a" selected>A</option>
  <option value="b">B</option>
 </select>
</form>
Run Code Online (Sandbox Code Playgroud)

期望的结果:

{
 "foo": "bar",
 "area": "long text",
 "your-choice": "a",
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找的方法 ( parse_form()) 可以这样使用:

response = client.get('/foo/')

# response contains <form> ...</form>

data = parse_form(response.content)

data['my-input']='bar'

response = client.post('/foo/', data)
Run Code Online (Sandbox Code Playgroud)

如何parse_form()在Python中实现?

这与 Django 无关,尽管如此,Django 中有一个功能请求,但几年前被拒绝: https: //code.djangoproject.com/ticket/11797

更新

我围绕基本lxml答案编写了一个小型Python库:html_form_to_dict

python django html-parsing

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