公司头条

推广运维推广运维
关注: 0贴子:13 排名: 4 
0 回复贴,23 次查看
<返回列表

python实战项目,搜索自己网站的要害词,使用代理并且模拟点击 ...

1

主题

1

帖子

32

积分

新手上路

Rank: 1

积分
32
发表于 2018-11-6 13:20:34
python 如何模拟点击网站

python 模拟点击网站,其实我们前面已经说了很多了,就是请求一次网站内容。我们以python模拟点击我的博客 http://www.xrkzn.cn为例,代码其实可以很简单:
#encoding=utf8import requestsurl = "http://www.xrkzn.cn"requests.get(url)在我的博客后台,看到了接见记录:
python实战项目,搜索自己网站的要害词,使用代理并且模拟点击 ...
我们还能直接看出,是通过 python-requests 接见的,对付python模拟点击网站来讲,这个信息不应该泛起,解决办法就是加上 headers 信息,我们直接上代码:
#encoding=utf8import requestsurl = "http://www.xrkzn.cn"header = {        'User-agent': 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',}requests.get(url, headers=header)这个时候,访客记录变成了:
python实战项目,搜索自己网站的要害词,使用代理并且模拟点击 ...
完美了吗?一定没,假定我们从百度搜索接见的,应该有来源信息。我们把它加上:

#encoding=utf8import requestsurl = "http://www.xrkzn.cn"header = {        'User-agent': 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',        'Referer': 'http://www.百度.com'}requests.get(url, headers=header)python获得代理IP

途径整体可以分为两类:免费和收费。我一直用的是免费方法:从一些公然代理 IP 的网站爬取。我以为收费的会更好用,更轻易,于是花了钱买了xx代理,结果发现被坑了。。。下面介绍从免费代理网站 python获得代理IP 吧。我们直接上代码:
#coding:utf-8import requestsimport randomfrom bs4 import BeautifulSoupUser_AgentArray = ["Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",                   "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",                   "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0",                   "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)",                   "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)",                   "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",                   "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",                   "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",                   "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)"]def GetProxies(url):       header = {}    header["User-Agent"] = User_AgentArray[random.randint(0, len(User_AgentArray) - 1)]    data = requests.get(url, headers=header)    soup = BeautifulSoup(data.content, "lxml")    # print(soup.find_all('tr'))    ips = soup.find_all('tr')    proxies = []    for i in range(1,len(ips)):        tds = ips.findAll('td')        ip = tds[1].string        port = tds[2].string        type = tds[4].string        proxy = "%s:%s" % (ip, port)        proxies.append(proxy)    return proxiesurl = "http://www.xicidaili.com/nt/1"   #请勿歹意爬取他人网站哈proxies = GetProxies(url)for item in proxies:    print item输出以下图:
python实战项目,搜索自己网站的要害词,使用代理并且模拟点击 ...
这样,我们就获得了很多代理 IP。
python 找出可用代理 IP

上面利用 python 从免费网站获得到很多代理IP,然则有很多都是不能用的,所以再使用之前,要再写个程序判断某个代理 IP 是不是可用,要领以下:
我们使用代理接见 http://2017.ip138.com/ic.asp,如果能够正确显示 IP,就认为该 IP 是可用的
python实战项目,搜索自己网站的要害词,使用代理并且模拟点击 ...
代码可以以下写:
#coding:utf-8import requestsimport randomfrom bs4 import BeautifulSoupUser_AgentArray = ["Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",                   "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",                   "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0",                   "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)",                   "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)",                   "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",                   "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",                   "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",                   "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)"]def GetProxies(url):       header = {}    header["User-Agent"] = User_AgentArray[random.randint(0, len(User_AgentArray) - 1)]    data = requests.get(url, headers=header)    soup = BeautifulSoup(data.content, "lxml")    # print(soup.find_all('tr'))    ips = soup.find_all('tr')    proxies = []    for i in range(1,len(ips)):        tds = ips.findAll('td')        ip = tds[1].string        port = tds[2].string        type = tds[4].string        proxy = "%s:%s" % (ip, port)        proxies.append(proxy)    return proxiesurl = "http://www.xicidaili.com/nt/1"   #请勿歹意爬取他人网站哈testUrl = "http://2017.ip138.com/ic.asp"proxies = GetProxies(url)for item in proxies:    proxy = {u"http": u"http://%s" % item}    try:        res = requests.get(testUrl, proxies=proxy, timeout=3)        if u"您的IP是:" in res.content.decode("gb2312"):            print "发现一个可用的代理:%s" % proxy    except Exception, e:        pass运行,输出以下:
python实战项目,搜索自己网站的要害词,使用代理并且模拟点击 ...
这样,我们就从一堆不可用的代理中,挑选出了可用的代理,可用于 python模拟点击网站。
回复

使用道具 举报

快速回帖 使用高级回帖 (可批量传图、还有插入视频等功能哦!)

您需要登录后才可以回帖 登录 | 立即注册

  • 发布信息免费
  • 发贴彩色标题
  • 签到额外经验值

如何快速提升等级,查看[积分规则]

活动中心

查看更多>>
最新热版
会员排行
©2001-2018 公司头条 https://www.ewxf.com中国互联网举报中心沪ICP备14046342号-13 本站内容均来自网络转载或网友提供,如有侵权请及时联系我们,Cxy@izhiben.CN 公安网备|网站地图 企业map 产品map 新闻map 其他map
Archiver手机版小黑屋广告合作QQ:864633495
发帖 客服 微信 手机版 举报