python爬虫爬取雪球网_Python爬虫:Selenium+ BeautifulSoup 爬取JS渲染的动态内容(雪球网新闻)...

最近要有一个任务,要爬取https://xueqiu.com/#/cn 网页上的文章,作为后续自然语言处理的源数据。

爬取目标:下图中红色方框部分的文章内容。(需要点击每篇文章的链接才能获得文章内容)

c6a25ca7625344b5f2fc9cab1d62bb3b.png

注:该文章仅介绍爬虫爬取新闻这一部分,爬虫语言为Python。

乍一看,爬虫的实现思路很简单:

(1)从原始页面https://xueqiu.com/#/cn上爬取各篇文章的URL

(2)通过第一步所获得的各篇文章的URL,抓取文章内容。

但是发现简单使用urllib2.urlopen()并不能获得红框部分的数据,原因是该部分数据是通过JS动态加载的。

最终发现可以采用Selenium框架来抓取动态数据。Selenium原本是Web测试工具,在Python爬虫中,可以使用它来模拟真实浏览器对URL进行访问,Selenium支持的浏览器包括Firefox、Chrome、Opera、Edge、IE 等。在此我使用的是Firefox浏览器。

Python爬虫脚本如下,可以参考注释来理解代码:

# coding=utf-8

import time

import Queue

import pymongo

import urllib2

import threading

from bs4 import BeautifulSoup

from BeautifulSoup import *

from selenium import webdriver

from selenium.webdriver.common.by import By

# 连接本地MongoDB数据库

client = pymongo.MongoClient()

# 数据库名为shsz_news

db = client.shsz_news

# collection名为news

collection = db.news

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值