第四次作业
总结:这次学习自己的时间比较紧张,没有认真学习到爬虫的知识。这是比较遗憾的,过一段时间有时间的话,会系统学习一下。刚开始的确有认真学习,但是后面由于时间原因,没有办法花大量时间学习,所以只是懂了一些基本的知识。
下面的代码有借鉴答案的代码,并非自己原创。
from bs4 import BeautifulSoup
from selenium import webdriver # 启动浏览器需要用到
from selenium.webdriver.common.keys import Keys # 提供键盘按键支持(最后一个K要大写)
import time
import csv
#自动化加载
driver = webdriver.Chrome("F:\\下载\\chromedriver")
browser.set_window_size(1920,1080)
driver.get("https://news.qq.com/ ")
#模拟滑动
for i in range(1,100):
time.sleep(1)
#屏幕滑动
driver.execute_script("window.scrollTo(window.scrollX, %d);"%(i*150))
#爬取页面内容
html=driver.page_source
bsObj=BeautifulSoup(html,"lxml")
jxtits=bsObj.find_all("div",{"class":"jx-tit"})[0].find_next_sibling().find_all("li")
#存入csv文件
f = open('news.csv','w',encoding='utf-8')
csv_writer = csv.writer(f)
csv_writer.writerow(["index",",","title",",","url"])
for i,jxtit in enumerate(jxtits):
try:
text=jxtit.find_all("img")[0]["alt"]
except:
text=jxtit.find_all("div",{"class":"lazyload-placeholder"})[0].text
try:
url=jxtit.find_all("a")[0]["href"]
except:
print(jxtit)
csv_writer.writerow([i+1,text,url])
f.close()