爬不到此论坛的html源码,应该涉及到反爬技术,以后再来解决,代码如下

import requests
from lxml import etree
import json class BtcSpider(object):
def __init__(self):
self.headers = {
"User-Agent": 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'
}
self.base_url = "https://www.chainnode.com/forum/2"
self.data_list = [] # 获取数据
def get_data(self, url):
response = requests.get(url, headers=self.headers)
data = response.content.decode()
return data # 解析数据
def parse_data(self, data):
# 转换数据的类型
x_data = etree.HTML(data)
# 按照路径解析
title_list = x_data.xpath('//a[@class="link-dark-major font-bold bbt-block"]/text()')
url_list = x_data.xpath('//a[@class="link-dark-major font-bold bbt-block"]/@href')
url_list = ["https://www.chainnode.com" + i for i in url_list]
for index, title in enumerate(title_list):
news = {}
news['name'] = title
news['url'] = url_list[index]
self.data_list.append(news) # 保存数据
def save_data(self):
data_str = json.dumps(self.data_list)
with open('03-btc.html', 'w') as f:
f.write(data_str) # 启动
def run(self):
for i in range(1,5):
# 拼接完整url
url = self.base_url if i == 1 else self.base_url + str(-i)
# 发送请求
data = self.get_data(url)
# 解析数据
self.parse_data(data)
self.save_data() BtcSpider().run()

最新文章

  1. 项目中 poi 导出 出现html特殊符号的实体 (已解决)
  2. linux开机启动
  3. 使用GITHUB的体会
  4. CentOS 关闭蜂鸣器声音
  5. 2> How Struts 2 Works
  6. duang体加班版
  7. MSDN 杂志:UI 前沿技术 - WPF 中的多点触控操作事件
  8. 每天一个linux命令(56)--crontab命令
  9. 初始Django
  10. [Linux] PHP程序员玩转Linux系列-Linux和Windows安装nginx
  11. 【django基础之ORM】
  12. windows cmd.exe 将程序 stdout 输出到文件中
  13. 使用 PySide2 开发 Maya 插件系列三:qt语言国际化(internationalization)
  14. CSS之边框
  15. Apache SkyWalking的架构设计【译文】
  16. Eclipse创建maven工程后没有build path解决方案
  17. C# linq 最大、最小对象的扩展
  18. ubuntu安装scrapy方法
  19. 【刷题】BZOJ 3653 谈笑风生
  20. svn 服务器搭建 ,采用http的方式加密用户。

热门文章

  1. 第07课 OpenGL 光照和键盘(1)
  2. 使用.NET6打造动态API
  3. makefile简单学习(一)
  4. 设计模式学习-使用go实现桥接模式
  5. centos 7 仅安装mysql client
  6. 数据结构知识总结(STL整理)
  7. Django笔记&教程 4-1 模型(Models)介绍
  8. [hdu7076]ZYB's kingdom
  9. [loj2461]完美的队列
  10. [cf1209E]Rotate Columns