因为再看崔庆才的教程,刚好看到爬取微信文章,所以就想着自己试试。打开搜狗发现,搜狗的微信文章页面网页布局有了变化(准确来说是简单了一点)、
所以分析了一下,用了70行代码实现了爬取上面【’搞笑’, ‘养生堂’, ‘私房话’, ‘八卦精’, ‘科技咖’, ‘财经迷’】几个标题的一共660多篇的文章

知识储备:requests库,selenium自动化模块,MongoDB数据库模块,BeautifulSoup解析库等

因为每个标题的页面都是分了四步加载的,所以我自然就想到了selenium自动化的模块来实现自动加载分布的页面。
在使用selenium时,一定要注意在每个操作的时候,sleep几秒,防止太快了激活了网站的反爬虫。

步骤:
一、使用selenium工具时,解析页面一定要放在后面,先实现页面的跳转等你需要实现的操作,等测试完发现可以用以后在
二、进行各个页面的解析

就比如我,当时在做这个的时候,解析页面和实现自动化一起进行时,感觉很混乱,所以我就花费了好长时间也没有结果。
后来,我停下来想了一下,决定一步步的来,先完全实现自动化,然后进行页面的解析。分几个函数来实现,通过函数的调用。

接下来看看代码:
from bs4 import BeautifulSoup as bf from selenium import webdriver from time
import sleep from selenium.webdriver.support.ui import WebDriverWait from
selenium.webdriver.common.byimport By from selenium.webdriver.support import
expected_conditionsas EC import pymongo,requests pymo = pymongo.MongoClient()
da = pymo.pythonSpider db = da.weixinur10
这个是需要导入的模块和一些准备工作

接下来实现一个自动化跳转的函数,包括自动下滑页面和自动跳转到别的标题
title_list = ['搞笑', '养生堂', '私房话', '八卦精', '科技咖', '财经迷','invalid'] #
这里我感觉有点业余,不过也凑合着,这几个标题可以在dom树中提取。 for i in title_list: js =
'window.scrollTo(0,document.body.scrollHeight)' for x in range(4):
driver.execute_script(js)# 执行js脚本,将页面滑动到底部 sleep(3) next_page_botton = Wait.
until(EC.visibility_of_element_located((By.CSS_SELECTOR,'#look-more'))) #
找到底部加载下一页按钮 next_page_botton.click() sleep(3)
parser_one_page(driver.page_source)# 这个是解析一个标题页面的函数,在后面实现 if i == 'invalid':
pass next_page = driver.find_element_by_link_text(i) next_page.click()sleep(5)
# 上面有几个sleep方法,很重要,千万不能省略,不然就无法加载剩余的页面,我当时就是在这里被卡住了
接下来是解析一个标题的函数,爬取这个标题下多有的文章链接
def parser_one_page(html): # 参数html明显是返回的每个页面的页面资源 Soup = bf(html,'lxml') div
= Soup.find('div',class_="news-box").find_all('ul') for i in div: try: h3 =
i.find_all('h3') for x in h3: try: a = x.find('a') url = a.get('href')
parser_one_art(url)# 解析一个文章的函数,用于提取内容 except Exception: pass except Exception:
pass # 上面有几个try语句,我也觉得至关重要,记忆加强程序的健壮性
在最后,我们有定义一个解析一篇文章的函数
def parser_one_art(url): html = requests.get(url) Soup = bf(html.text, 'lxml')
content = Soup.find('div', id='img-content') title = content.find('h2'
).get_text() p_list = [] ps = content.find_all('p') for i in ps: x =
i.get_text() p_list.append(x) main_content ='\n'.join(p_list) #
这个是将各个文章的段落拼接成一片完整的内容 db.insert_one({title: main_content}) # 将数据插入到数据库
好了,这就是全部内容,一共爬取了669篇文章

来,我们先欣赏一片文章,格式就是这样,爬下来以后
#女子给乞讨老人买面条,面店连“碗”都不给? 真相到底是什么
微信号
yzwb20102806

功能介绍
新鲜事、有趣事、不平事、离奇事、为难事,欢迎第一时间微信我们哦!


22日,一条《要饭的也是人,别瞧不起任何人,那样你连人都不如》的帖子,在镇江朋友圈和网络的论坛上刷屏。同时,帖子引发了网络的暴力声讨,甚至有人专题发帖,呼吁网友从此远离涉事的镇江这家知名面店——大华面馆。一时间,这一事件沸沸扬扬,满城热议。

▲事发面馆

一则帖子
“给乞讨老人买面,面店连碗都不给”


这则帖子内容全文如下:“人没有贵贱之分,凭什么买了面条不给人家用碗吃饭,拿个方便袋过来、叫他倒进去吃。我想问老板,你自己吃饭是在方便袋里面吃的吧,最后我花钱再买一个一次性碗,(面条是我买给这个老头的,结果刚端给他,就听见老板使唤员工去把碗拿过来不给吃,你要是觉得可能他不太卫生,你可以拿个一次性碗来,拿方便袋算什么)。现在生意做大了,多想想自己以前没生意的时候,一碗面条哼哧哼哧送游戏室的时候。做人心要好,不管你是多大的老板,多大的官。”

帖子中,还附上了一张一名老者坐在台阶上吃面的照片。在老人身旁,还放有一个小盆,内有数枚硬币。
帖子中涉及的面店,是镇江民间极其有名的大华面馆。帖子一出成了最火爆的“话题”。瞬间,大华面馆就被波涛汹涌的热议、质疑和争议,推至风尖浪口。

▲乞讨老人(图片来自网络)
记者调查
常年来面店乞讨,众食客不堪其扰


23日上午11时左右,记者来到大华面馆。面馆老板董亮的母亲张晓青获悉记者身份后,先控诉起那名涉事的乞讨老者,“他每天都到面馆来,盯着吃面条的人要钱,不给钱不走,还会在他们身上、背上敲敲。通常面店上班,他就上班;面店下班他才下班!”在场吃面的张萍则说,这个老年乞讨者,常年在面馆乞讨,自己在这儿吃个面条,他能过来三趟要钱!真是不堪其扰。


常年在面店擦皮鞋的申富军说,自己和这个老年乞讨者很熟,他喜欢找那些新面孔和年轻女子要钱,不给钱他就不走,一直盯着人家。在这里乞讨收入很可观,他有次中午11点多钟看到老乞丐,问他“今天有没有要到200元?”老乞丐摇摇手说:“只要到了100多元”。申富军还说,自己也看到董老板有时会将客人们吃剩下来的、别人没吃过的油条等,给老乞丐吃。

而就在记者采访时,有人告诉记者,刚刚还看到老乞丐在现场要钱,但在看到记者采访后,他从旁边的巷子里走了。

记者随即找出去,却看不到老年乞讨者的身影。

亲历者说
店老板称无奈“躺枪”

很快,董亮来到现场。他说帖子中发的情况确有此事,但是真实情况绝不是如帖子中所说。随后,他给记者找来了当天事情的亲历者董铭和陈素英。


董铭是董亮的弟弟,他告诉记者,因为每天太忙,记得事情大概发生在上个周六九十点钟时候,当时给老乞丐买面条的年轻女子,将这碗面条端给老乞丐吃时,因为用店内的碗,被正好路过的他喊住了。因为老乞丐随身有饭盆但很脏,董铭就让服务员拿一只食品袋套在饭盆上。女员工陈素英,就从口袋中掏出一只食品袋。但不想年轻女子觉得这样对老乞丐不公平,就要求拿一次性餐盒。陈素英就拿了一次性餐盒给她,同时因为打工的不能当家,陈素英就称要一元钱。这样,年轻女子就给了陈素英1元钱。


至于年轻女子帖子中说陈素英拿出的食品袋很脏,董亮强调,“这些食品袋,不仅打包食客们吃剩下的油条等,还经常打包面条外卖。”“事情经过就是这样!”董亮很是无奈地说。

专家观点
付出善意不假思索 谴责他人三思后行


对此,江大马克思主义学院教授周海燕认为,面店的做法确有欠妥的地方,刚开始的舆论“一边倒”,从某种程度而言,反映了大部分人心中都存有“人人平等”“同情弱者”的善念。“不管乞丐本身是不是苦难无助;还是以乞讨为职业好逸恶劳,人们的善意不能在分辨真假以后再付出。普通人往往会以善意去理解人,用善意去对待人,这恰恰是我们社会和谐的一种表现。”周教授说。


但周教授强调,社会的善良也需要得到理性的支持,付出善意可以不假思索。但大家不应该在事情还未经核实清楚的情况下,就集体谴责或是“讨伐”当事的某一方。从动机而言,面店也不是歧视对方,他还要考虑到食客的感受。“所以,当我们在表达愤怒的时候,如果能够多点三思而行,多了解真相后再发出声音。”

来源 | 扬子晚报记者 万凌云

1.3盆小龙虾坑惨女司机!罚2000扣12分,真相让人大跌眼镜

2.怕妻子太辛苦,男子两次锯马路护栏 网友:宠妻还有这种操作?

3.屋外传来剧烈震动和巨响,9岁男孩极度恐惧下…法院这样判

赞赏

长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信