python爬虫入门urllib库的使用
Posted ghostwu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫入门urllib库的使用相关的知识,希望对你有一定的参考价值。
urllib库的使用,非常简单。
import urllib2 response = urllib2.urlopen("http://www.baidu.com") print response.read()
只要几句代码就可以把一个网站的源代码下载下来。
官方文档:https://docs.python.org/2/library/urllib2.html
urllib2.
urlopen
(url[, data[, timeout[, cafile[, capath[, cadefault[, context]]]]])
urlopen 只要用到前面3个参数,url, data:提交的数据. timeout:超时
也可以这样使用:
import urllib2 request = urllib2.Request("http://www.baidu.com") response = urllib2.urlopen(request) print response.read()
这种用法比较常见。
我们用php创建一个表单,然后用urllib2模拟表单提交
<!doctype html> <html> <head> <meta charset="utf-8" /> </head> <body> <?php if( isset( $_REQUEST[\'submit\'] ) ) { $username = $_REQUEST[\'username\']; $userpwd = $_REQUEST[\'password\']; if( $username == \'ghostwu\' && $userpwd = \'abc123\') { echo "login success"; }else{ echo "login error"; } } ?> <form action="/index.php" method="get"> username: <input type="text" name="username" /><br/> password: <input type="password" name="password" /><br/> <input type="submit" value="submit" name="submit" /> </form> </body> </html>
接下来,我们先用get方式提交【备注:域名是我本地的,你需要用本地host映射,相应的服务器域名和ip】
#coding:utf-8 import urllib import urllib2 values = { "username" : "ghostwu", "password" : "abc123", "submit" : "submit" } data = urllib.urlencode( values ) url = "http://mesite.ghostwu" + "?" + data request = urllib2.Request( url ) response = urllib2.urlopen( request ) print response.read()
执行之后,如果把用户名或者密码该错,就会出现login error.
post提交方式,当然你要把php表单改成post提交.
#!/usr/bin/python #coding:utf-8 import urllib import urllib2 values = { "username" : "ghostwu2", "password" : "abc123", "submit" : "submit" } data = urllib.urlencode( values ) url = "http://mesite.ghostwu" request = urllib2.Request( url, data ) response = urllib2.urlopen( request ) print response.read()
以上是关于python爬虫入门urllib库的使用的主要内容,如果未能解决你的问题,请参考以下文章