bs4抓取糗事百科

抓取糗事百科内容及评论,不包含图片信息。user-agent填入浏览器的即可。user-agent对应的value,360极速浏览器的话,可以在地址栏输入about:version,回车,用户代理后面的一长串就是需要填入‘‘里面的内容。其他的可以自行百度

import urllib.request
import re
from urllib import request
from bs4 import BeautifulSoup

#1.获取网页源代码
def get_html(url):
    headers = {
        ‘User-Agent‘: ‘‘,
    }
    req = request.Request(headers=headers,url=url)
    response = urllib.request.urlopen(req)
    content = response.read().decode(‘utf-8‘)
    return content

#获取评论链接
def get_comment_link(content,comment_url_base):
    soup = BeautifulSoup(content,‘html.parser‘)
    articleFloor = 1
    for string in soup.find_all(attrs=re.compile(r"article block untagged mb15.*?")):
        comment = str(string.get(‘id‘)).strip().split("_")[2]
        comment_url = comment_url_base % comment#评论链接
        get_comment_content(comment_url,articleFloor)#获取评论内容
        articleFloor += 1

#获取糗事内容及评论内容
def get_comment_content(comment_url,articleFloor):
    commentPage = get_html(comment_url)
    commentFloor = 1
    soupComment = BeautifulSoup(commentPage,‘html.parser‘)
    for item in soupComment.find_all(‘div‘,class_=‘content‘):
        print(articleFloor,".",item.get_text().strip())#获取糗事内容
    for comment in soupComment.find_all(attrs="body"):
        print("      ",commentFloor,"楼回复:",comment.get_text())#获取评论内容
        commentFloor += 1

def command():
    while True:
        raw = input("点击enter查看或者输入exit退出,请输入你的选择:")
        if raw==‘enter‘:
            main()
            break
        else:
            break

def main():
    article_url_base = ‘https://www.qiushibaike.com/8hr/page/%d/‘#文章地址
    comment_url_base = ‘https://www.qiushibaike.com/article/%s‘#评论地址
    article_url = article_url_base % 2
    content = get_html(article_url)
    get_comment_link(content,comment_url_base)

if __name__ == ‘__main__‘:
    command()

原文地址:https://www.cnblogs.com/smart-zihan/p/9615915.html

时间: 2024-10-07 14:42:42

bs4抓取糗事百科的相关文章

Python爬虫--抓取糗事百科段子

今天使用python爬虫实现了自动抓取糗事百科的段子,因为糗事百科不需要登录,抓取比较简单.程序每按一次回车输出一条段子,代码参考了 http://cuiqingcai.com/990.html 但该博主的代码似乎有些问题,我自己做了修改,运行成功,下面是代码内容: 1 # -*- coding:utf-8 -*- 2 __author__ = 'Jz' 3 import urllib2 4 import re 5 6 #糗事百科爬虫类 7 class QSBK: 8 #初始化 9 def __

HtmlAgilityPack抓取糗事百科內容

本文实例讲述了C#使用HtmlAgilityPack抓取糗事百科内容的方法.分享给大家供大家参考.具体实现方法如下: Console.WriteLine("*****************糗事百科24小时热门*******************"); Console.WriteLine("请输入页码,输入0退出"); string page = Console.ReadLine(); while (page!="0") { HtmlWeb h

Python 网络爬虫 - 抓取糗事百科的段子(最新版)

代码 # -*- coding: cp936 -*- __author__ = "christian chen" import urllib2 import re import threading import time class Tool: def pTitle(self): return re.compile('<title.*?>(.*?)</', re.S) def pContent(self): return re.compile('<div cla

Python 简单爬虫抓取糗事百科

# coding:utf-8 import timeimport randomimport urllib2from bs4 import BeautifulSoup #引入 beautifulsoup模块 #p = 1 #定义 页url = 'http://www.qiushibaike.com/text/page/'#定义header my_headers = [    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 F

au3抓取糗事百科网站

网址:'http://www.qiushibaike.com/8hr/page/' & $pagenum & '?s=4512150' #include <IE.au3> #include <File.au3> #include <String.au3> #include <Array.au3> #include <Debug.au3> #include <Date.au3> ;code try to collect

Python爬虫爬取糗事百科段子内容

参照网上的教程再做修改,抓取糗事百科段子(去除图片),详情见下面源码: #coding=utf-8#!/usr/bin/pythonimport urllibimport urllib2import reimport threadimport timeimport sys #定义要抓取的网页#url = 'http://www.qiushibaike.com/hot/'#读取要抓取的网页#globalcontent = urllib.urlopen(url).read()#抓取段子内容#new_

芝麻HTTP:Python爬虫实战之爬取糗事百科段子

首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 友情提示 糗事百科在前一段时间进行了改版,导致之前的代码没法用了,会导致无法输出和CPU占用过高的情况,是因为正则表达式没有匹配到的缘故. 现在,博主已经对程序进行了重新修改,代码亲测可用,包括截图和说明,之前一直在忙所以没有及时更新,望大家海涵! 更新时间:2015/8/2 糗事百科又又又又改版了,博主已经没心再去一次次匹配它了,如果大家遇到长时间运行不出结果也不报错的情况,请大家参考最新的评

PHP爬取糗事百科首页糗事

突然想获取一些网上的数据来玩玩,因为有SAE的MySql数据库,让它在那呆着没有什么卵用!于是就开始用PHP编写一个爬取糗事百科首页糗事的小程序,数据都保存在MySql中,岂不是很好玩! 说干就干!首先确定思路 获取HTML源码--->解析HTML--->保存到数据库 没有什么难的 1.创建PHP文件"getDataToDB.php", 2.获取指定URL的HTML源码 这里我用的是curl函数,详细内容参见PHP手册 代码为 <span style="fo

python3 爬虫之爬取糗事百科

闲着没事爬个糗事百科的笑话看看 python3中用urllib.request.urlopen()打开糗事百科链接会提示以下错误 http.client.RemoteDisconnected: Remote end closed connection without response 但是打开别的链接就正常,很奇怪不知道为什么,没办法改用第三方模块requests,也可以用urllib3模块,还有一个第三方模块就是bs4(beautifulsoup4) requests模块安装和使用,这里就不说