Python爬虫入门【未完】

python语言基础不谈,有其他语言基础的话花上几十分钟就能对python的基本语法有个了解。

 

使用urlib2库来扒一个网页

import urllib2

url = "https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn"
request = urllib2.Request(url)
response = urllib2.urlopen(request)
print response.read()

 request 请求

 

使用数据传送,有两种方式,一是post,一是get

import urllib
import urllib2

values = {"username":"[email protected]","password":"XXXX"}
data = urllib.urlencode(values) 
url = "https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn"
request = urllib2.Request(url,data)
response = urllib2.urlopen(request)
print response.read()

这里使用了urlib2.Request()的第二个参数data

另一种字典的构造方法

values = {}
values['username'] = "[email protected]"
values['password'] = "XXXX"

 

这里构造的一个字典value,一值是username,一值是password,可以进到

https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsd这个网址去审查一下元素

Python爬虫入门【未完】_第1张图片

两个input id 一个叫username一个叫password

get的方式比较容易理解,就是把参数直接带在url里

import urllib
import urllib2

values={}
values['username'] = "[email protected]"
values['password']="XXXX"
data = urllib.urlencode(values) 
url = "http://passport.csdn.net/account/login"
geturl = url + "?"+data
request = urllib2.Request(geturl)
response = urllib2.urlopen(request)
print response.read()

url实际上就是

http://passport.csdn.net/account/login?username=xxx%40xx.com&password=XXXX

 

 

有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应。事实上刚才那段程序就不能登录到csdn,得到的返回结果是一页html代码,运行后得到的界面就是这样。

Python爬虫入门【未完】_第2张图片

所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性。

【暂时坑了】

 

你可能感兴趣的:(Python爬虫入门【未完】)