1. 程式人生 > >某新聞網站資料學習

某新聞網站資料學習

 

    前兩天看到某個博友噴另外一個人通過js騙取關注,唉,突然就覺得,騙關注不對的話,那咱們就互相關注吧,這樣你至少看一下我,看的人多了,我也就覺得我寫的東西還有看的價值,才會更加努力的去寫更好的部落格!

              下面的程式碼只是給大家提供一個思路,關鍵地方我已用對應的引數名稱替換了!通過這段程式碼,我發現自己不僅僅有熟悉了一下python的基本語法,同時也對資料探勘和清洗有了一定的認識!經常聽別人說資料探勘,感覺

非常的高大上,但這次的程式碼編寫,發現從最開始的挖掘到很多無用資料,到對無用資料的清洗,再到轉換挖掘大方向,發現了想真正找到有用的資料,從最開始就應該明確自己真正需要的資料,最好從開始就能指定一個精確的採集

資料的方案,否則後期的資料分類整理,是非常麻煩的!

 

from selenium import webdriver
from string import Template
import time
import random

def attention():
	i=84720
	b = webdriver.Chrome()
	b.maximize_window()
	b.get("https://passport.csdn.net/passport_fe/login.html")
	b.find_element_by_id("id").click()
	b.find_element_by_id("username").send_keys("使用者名稱")
	time.sleep(3)
	b.find_element_by_id("password-number").send_keys("密碼")
	time.sleep(3)
	b.find_element_by_id("id").click()
	time.sleep(3)
	while i > 1:
		i = i - 1
		try:
			#
			for newsNumber in range(1,100):
				newsNumber=str(newsNumber)
				b.get("某網站")
				time.sleep(0.8)
				newsPath = "id" + newsNumber
				newsUrl = b.find_element_by_id(newsPath).get_attribute("href")
				b.get(newsUrl)
				time.sleep(0.5)
				attentionStatus = b.find_element_by_id('id').text
				if attentionStatus == '已關注':
					newsUrl=str(newsUrl)
					attentionNewsUrl=newsUrl.replace("newsUrl","點贊介面")
					b.get(attentionNewsUrl)
					time.sleep(12)
					print("已關注: ")
				else:
					b.find_element_by_id('//*[@id="btnAttent"]').click()
					newsUrl = str(newsUrl)
					attentionNewsUrl = newsUrl.replace("newsUrl", "點贊介面")
					b.get(attentionNewsUrl)
					time.sleep(0.5)
		except:
			js = "var q=document.documentElement.scrollTop=100000"
			b.execute_script(js)
			time.sleep(3)
			continue
		b.get("某網站/#/uc/att-list")
		try:
			js = "var q=document.documentElement.scrollTop=100000"
			b.execute_script(js)
			time.sleep(1)
			b.find_element_by_id("id").click()
			time.sleep(1)
			for n in range(1,5):
				n = n + 1
				b.find_element_by_id("id").click()
				time.sleep(1)
				for m in range(1, 19):
					m = m + 1
					m = str(m)
					b.find_element_by_id("id" + m ).click()
					time.sleep(0.2)
		except:
			continue
attention()