怎么用python抓取网页并实现一些提交操作?

简单来说就是我想做一个刷票器。
想知道用什么库(httplib,urllib?),打开一个网页(urlopen?),获取验证码的图片(如何获取?不需要考虑识别),设置一些选项(如选中某个选项,填入姓名,身份证号等),再提交投票(post?)
如果解答及时,视详细情况加分,解决问题追加100到300分。
可加QQ:187212263
百度没把我的问题显示出来。
现在考虑用cPAMIE或win32com.client,pythoncom模拟操作IE。基本问题已解决。还差图片的获取和提交。提交源代码如下:<input type="image" name="ImgBtnSubmit" id="ImgBtnSubmit" src="images/btn_01.jpg" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ImgBtnSubmit", "", true, "", "", false, false))" style="border-width:0px;" />
请问用cPAMIE如何模拟?

下面这个程序是抓取网页的一个例子,MyOpener类是为了模拟浏览器客户端,并采用随机选取的方式以防网站将你认为是机器人。
MyFunc函数抓取你指定的url,并提取了其中的href链接,图片的获取类似,一般是<img src=xxx>这样的形式,其他的功能应该也不难,去网上搜下应该有些例子。

import re
from urllib import FancyURLopener
from random import choice

user_agents = [
'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11',
'Opera/9.25 (Windows NT 5.1; U; en)',
'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)',
'Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)',
'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070731 Ubuntu/dapper-security Firefox/1.5.0.12',
'Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/1.2.9'
]

class MyOpener(FancyURLopener, object):
version = choice(user_agents)

def MyFunc(url):
myopener = MyOpener()
s = myopener.open(url).read()
ss=s.replace("\n"," ")
urls=re.findall(r"<a.*?href=.*?<\/a>",ss,re.I)#寻找href链接
for i in urls:
do sth.
温馨提示:内容为网友见解,仅供参考
第1个回答  2021-08-17
首先我们找到登录的元素,在输入账号处选中–>右键–>检查

然后直接查询网页源代码去找到上面的部分,根据标签来观察提交的表单参数,这里强调一下:

form标签和form标签下的input标签非常重要,form标签中的action属性代表请求的URL,input标签下的name属性代表提交参数的KEY。
代码参考如下:
import requests
url="网址" #action属性
params={
"source":"index_nav", #input标签下的name
"form_email":"xxxxxx", #input标签下的name
"form_password":"xxxxxx" #input标签下的name

}
html=requests.post(url,data=params)
print(html.text)

运行后发现已登录账号,相当于一个提交登陆的操作
第2个回答  2009-10-20
urllib2而已。eazy.

Python模拟登录网站并抓取网页的方法!
1. 获取参数 使用IE浏览器开发者工具捕获登录请求的URL、请求头、POST数据和Cookie。2. 获取登录百度参数 使用IE浏览器工具获取跳转页、token和apiver参数。3. 登录代码实现 导入库和定义检查函数,模拟登录百度,获取cookie并验证。具体实现 导入必要的库,定义cookie检测函数,模拟登录百度主页,获取Cookie...

如何抓取网页上的数据(如何使用Python进行网页数据抓取)
要使用Python进行网页数据抓取,首先需要安装Python解释器。可以从Python官方网站下载并安装最新的Python版本。安装完成后,还需要安装一些相关的Python库,如requests、beautifulsoup、selenium等。可以使用pip命令来安装这些库,例如在命令行中输入以下命令来安装requests库:```pipinstallrequests ```二、使用reques...

利用python爬虫技术爬取网站数据的注意事项和具体步骤
1. 安装必要的Python依赖库,如requests与beautifulsoup4。2. 使用requests库发起HTTP请求,获取网页数据。3. 利用beautifulsoup库解析HTML内容,提取所需数据。4. 对数据进行处理,保存至文件或数据库。具体操作包括:使用requests发送HTTP请求,使用BeautifulSoup解析HTML内容,提取网页标题、链接、主要内容,并进...

如何用python爬取网站数据?
1.这里假设我们抓取的数据如下,主要包括用户昵称、内容、好笑数和评论数这4个字段,如下:对应的网页源码如下,包含我们所需要的数据:2.对应网页结构,主要代码如下,很简单,主要用到requests+BeautifulSoup,其中requests用于请求页面,BeautifulSoup用于解析页面:程序运行截图如下,已经成功爬取到数据:抓取...

怎么用Python读取本地网站的内容
思路如下:使用urllib2库,打开页面,获取页面内容,再用正则表达式提取需要的数据就可以了。下面给你个示例代码供参考,从百度贴吧抓取帖子内容,并保存在文件中。-*- coding:utf-8 -*-import urllib2import reurl='page=urllib2.urlopen(url).read().decode('gbk')none_re=re.compile('||')br_...

零基础用爬虫爬取网页内容(详细步骤+原理)
Web Scraper插件的使用步骤: 1、在 Chrome 插件商店搜索 Web Scraper,点击「添加拓展程序」,在浏览器的插件栏里找到蜘蛛网图标。 2、打开要爬取的网页,例如豆瓣 Top250 的 URL 是 movie.douban.com\/top250,同时按 option+command+i 或者 Windows 系统的 ctrl+shift+i 进入开发者模式,看到网页 ...

如何爬取网页数据
2. 使用网页抓取工具 网页抓取工具是一种可以自动化地爬取网页数据的软件,常见的有WebHarvy、Octoparse等。这些工具可以通过简单的配置,自动化地爬取网页数据,并将数据导出为Excel、CSV等格式,方便后续的数据处理和分析。3. 使用API接口 一些网站提供了API接口,可以通过API接口获取网页数据。API接口是一...

如何用 Python 爬取需要登录的网站
Python 1 session_requests = requests.session()第二,我们要从该网页上提取在登录时所使用的 csrf 标记。在这个例子中,我们使用的是 lxml 和 xpath 来提取,我们也可以使用正则表达式或者其他的一些方法来提取这些数据。Python 1 2 3 4 5 login_url = "n\/?next=\/"result = session_requests....

如何爬取网页数据
1. 使用Python爬虫库 Python是一种高级编程语言,以其简洁易学、开发效率高而受欢迎。在网页数据爬取中,Python爬虫库BeautifulSoup和Scrapy最为常用。BeautifulSoup能够方便地从网页中提取数据,而Scrapy则是一个完整的爬虫框架,支持自动化爬取、数据存储和处理。2. 使用网页抓取工具 网页抓取工具能自动化爬...

毕业生必看Python爬虫上手技巧
Python快速上手爬虫的7大技巧 1、基本抓取网页 get方法 post方法 2、使用代理IP 在开发爬虫过程中经常会遇到IP被封掉的情况,这时就需要用到 代理IP;在urllib 2包中有Proxy Handler类, 通过此类可以设置代理 访问网页,如下代码片段:3、Cookies处理 cookies是某些网站为了辨别用户身份、进行session跟踪...

相似回答