爬取腾讯新闻

  • 了解ajax加载
  • 通过chrome的开发者工具,监控网络请求,并分析
  • 用selenium完成爬虫
    • 具体流程如下:
    • 用selenium爬取https://news.qq.com/ 的热点精选
import time
from  selenium import webdriver
driver=webdriver.Chrome(executable_path="D:\chromedriver\chromedriver.exe")
driver.get("https://news.qq.com")
#了解ajax加载
for i in range(1,100):time.sleep(2)driver.execute_script("window.scrollTo(window.scrollX, %d);"%(i*200))from bs4 import BeautifulSoup
html=driver.page_source
bsObj=BeautifulSoup(html,"lxml")
jxtits=bsObj.find_all("div",{"class":"jx-tit"})[0].find_next_sibling().find_all("li")print("index",",","title",",","url")
for i,jxtit in enumerate(jxtits):
#     print(jxtit)try:text=jxtit.find_all("img")[0]["alt"]except:text=jxtit.find_all("div",{"class":"lazyload-placeholder"})[0].texttry:url=jxtit.find_all("a")[0]["href"]except:print(jxtit)print(i+1,",",text,",",url)

知乎爬虫

import requests
from http import cookiejar
Session=requests.session()
Session.cookies = cookiejar.LWPCookieJar(filename='./cookies.txt')
Session.cookies.load(ignore_discard=True)
Session.headers={'Host': 'www.zhihu.com','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ''(KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'}
r=Session.get("https://www.zhihu.com/search?q=Datawhale&utm_content=search_history&type=content")
r.encoding="utf-8"from bs4 import BeautifulSoup
import re
compiler=re.compile('"next":"(https:\\\\u002F\\\\u002Fapi.zhihu.com\\\\u002Fsearch_v3.*?)"')bsObj=BeautifulSoup(r.text,"lxml")
url=compiler.findall(r.text)[0]from urllib.parse import unquote
url=unquote(url,encoding="utf-8", errors='replace')
url=url.replace("\\u002F","/")
search_hash_id=re.search("search_hash_id=(.*?)&show_all_topics",url).group(1)offset=20
lc_idx=21
for i in range(5):r=Session.get("https://www.zhihu.com/api/v4/search_v3?t=general&q=Datawhale&correction=1&offset={offset}&limit=20&lc_idx={lc_idx}&show_all_topics=0&search_hash_id={search_hash_id}&vertical_info=0%2C0%2C1%2C0%2C0%2C0%2C0%2C0%2C0%2C0".format(**{"offset":offset+i*20,"lc_idx":lc_idx+i*20,"search_hash_id":search_hash_id}))r.encoding="utf-8"print(r.json())print("\n"*20)

Python爬虫编程实践 Task04相关推荐

  1. Python爬虫编程实践 Task03

    文章目录 IP代理 获取代理IP地址的方法 代码实现 selenium session 和 cookie 动态网页和静态网页 静态网页 动态网页 session和cookies session coo ...

  2. Python爬虫编程实践 Task02

    文章目录 一.Xpath Xpath常用的路径表达式 使用lxml解析 实战:爬取丁香园-用户名和回复内容 二.正则表达式 re库 正则表达式的语法 正则表达式re库的使用 re库的主要功能函数 re ...

  3. Python爬虫编程实践Task 01

    文章目录 1.互联网.HTTP 互联网 HTTP 2.开发者工具 3.request库 request.get request.post request.get进阶:爬取豆瓣电影 1.互联网.HTTP ...

  4. Python爬虫编程实践--task01

    主要内容 HTTP基础 HTML基础 requests.get的使用 API的使用 HTTP HTTP是一个客户端(用户)和服务器端(网站)之间进行请求和应答的标准.通过使用网页浏览器.网络爬虫或者其 ...

  5. Datawhale第十二期组队学习--Python爬虫编程实践 Task03:session和cookie、代理、selenium自动化 拔高:丁香园留言板爬取

    一. session和cookie 常用的 web 容器有 Nginx . Apache . Tomcat .Weblogic . Jboss . Resin 等等 http 1.0 HTTP1.0的 ...

  6. Python爬虫编程实践--task02

    主要学习内容: Beautiful Soup库的入门 xpath的使用 re的使用 1. Beautiful Soup库入门 Beautiful Soup 是一个HTML/XML 的解析器,主要用于解 ...

  7. Python爬虫编程常见问题解决方法

    Python爬虫编程常见问题解决方法 参考文章: (1)Python爬虫编程常见问题解决方法 (2)https://www.cnblogs.com/xpwi/p/9604015.html (3)htt ...

  8. Python爬虫编程思想(6):实战案例:抓取所有的网络资源

    Python爬虫编程思想(7):实战案例:抓取博客文章列表 到现在为止,我们已经对网络爬虫涉及到的基本知识有了一个初步的了解.本文会编写一个简单的爬虫应用,以便让读者对爬虫有一个基本的认识.本节要编写 ...

  9. Python游戏编程实践2:魔塔

    Python游戏编程实践2:魔塔 前言 运行 前言 在逗游游戏盒上玩了一个名叫<魔塔>的游戏,感觉颇有心得体会."与其临渊羡鱼,不如退而结网",使用Python语言编写 ...

最新文章

  1. 为什么要读源代码,如何阅读源代码
  2. vc richedit 指定光标位置_机械图纸·每日一符:位置度
  3. bioskey的用法
  4. 图像处理(四)图像分割(2)测地距离Geodesic图割
  5. java jdk目录_Java开发工具包JDK安装和目录介绍
  6. MVC4下配置log4net 五部曲
  7. SqlServer:带IN()子句C#的参数化查询
  8. 方差 标准差_财务思维:资产风险衡量中的收益率方差、标准差怎么理解运用?...
  9. 深信服2018年实习生校园招聘总结
  10. 计算机组成原理相关知识重要吗?
  11. CentOS如何拓展swap分区
  12. MSAA,SSAA,CSAA,CFAA...如何正确地为您的游戏设置抗锯齿模式
  13. OLTP vs OLAP 区别和联系
  14. 08 | QPaint绘图类
  15. Linux 一句精彩的回答【转】
  16. 真武三国java_2010年CPU第三季手机游戏风云榜TOP10名单
  17. 托运价格(c++基础)
  18. 程序员需要懂的常用数据结构
  19. DDR信号仿真软件介绍
  20. mysql model怎么用_【原创】小灰灰自行封装mysql操作的Model方法 | 小灰灰博客

热门文章

  1. 难以置信,MySQL也可以无损自由切换
  2. 【工具使用系列】关于 MATLAB Embedded Coder, 你需要知道的事
  3. js获取验证码倒计时60s(超简单)
  4. 关于 element 可以被找到但是不能被click()的问题
  5. Puppet安装与配置简介(附视频教程)
  6. IOS自己主动布局中的浮动布局(6)----MyFloatLayout横空出世
  7. Windows Server 2012 将资源发布到 AD DS
  8. 生活随笔:怀念大学时代
  9. 图像处理课程设计大报告 MATLAB GUI APP实现直方图均衡化、几何变换和加噪滤波
  10. 华为机试HJ23:删除字符串中出现次数最少的字符