PHP和Python获取网页源代码区别

学习Python用requests库去获取我的网站源代码,获取到的居然是加速乐的防御代码,因为我用加速乐的CDN,然后获取了下乌云网站的,获取乌云的是一片空白,什么都没有,难道Python这么弱么,然后用php获取,php都可以获取到,而且比python代码少,只是Python可以常住内存,PHP就不行了。

php获取页面源代码方法:

$re = file_get_contents('http://www.0535code.com/');
var_dump($re);

Python页面源代码方法:

# coding:utf-8
import requests
html = requests.get('http://www.0535code.com')
print html.text

Python获取页面源代码比php多呢, 要php的一倍。然后这样还不行,像加速乐,乌云了,这类安全网站都获取不到,普通网站python用上面的代码能获取到,然后研究了下,是上面的代码不完整所以获取不到一些网站的源代码,要带上访问的一些信息才行。完整的Python代码如下:

# coding:utf-8
import re,requests
#要设置RAW字段才能成功抓取到内容
wuyun_headers={'User-Agent':'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/23.0.2211.251 Safari/537.36'}
html = requests.get('http://www.0535code.com',headers=wuyun_headers)
print html.text

因为php用file_get_contents函数,默认会有代理信息一起提交请求,而用python就不会自动提交,要配置下才行。
headers的信息,通过浏览器审查元素中的网络选项,随便找一个链接,可以看到请求头信息RAW。
 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.