063-爬取CSDN博客内容

【1】  -----------------------查看User-Agent

输入chrome://version/   

用户代理Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36

 

【2】----------------------具体代码

 

 

import urllib.request
from bs4 import BeautifulSoup
from urllib.request import urlopen
import re
import sys
import os
#【1】输入网址
url = 'https://www.csdn.net/'
#【2】输入代理地址
headers = ('User-Agent',
           "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36")
opener = urllib.request.build_opener()
opener.addheaders = [headers]
urllib.request.install_opener(opener)
html = urllib.request.urlopen(url).read().decode('utf-8', 'ignore')
bs = BeautifulSoup(html, 'lxml')
print("suoyou",bs)   
linklist = links = bs.select('b')  # 标题
linklist2 = links2 = bs.select('div.contson')  # 内容
# print("标题",linklist)   # 诗词标题
# print("内容",linklist2)   # 诗词内容
texts = []  # 标题
links2 = []  # 内容
# # 遍历linkllist,存储标题和链接
for link in linklist:  # 标题
    texts.append(link.text.strip())  # 那么就从该字符串首尾去除空白字符。否则,函数第二个参数指定的字符将从该字符串中去除。
for link in linklist2:  # 内容
    links2.append(link.text.strip())  # python  中的用法啦
# # #    通过zip,将信息输出到控制台
print(texts)
print(links2)
cunchu = []
output = open("my_file.txt", 'w')
for text, link in zip(texts, links2):
    output.write(str(text) + '\n ' + str(link) + '\n')
output.close()

 

 

【3】由于直接读取网页的话需要解压,所以只能存到本地了。

import urllib.request
from bs4 import BeautifulSoup
from urllib.request import urlopen
import re
import sys
import os
import requests

import webbrowser as web
import os
import time
import random
#【1】打开保存到本地的文件soup = BeautifulSoup(open('my_file.lxml'),'lxml')
# print("suoyou",soup.prettify())
# print("suoyou",soup)
#【2】设置搜索的标签比如-------<h3> </h3>
linklist = links = soup.select('h3')  # 标题    在网页源代码里找标签
linklist2 = links2 = soup.select('p')  # 内容
print("标题",linklist)   # 诗词标题
print("内容",linklist2)   # 诗词内容
texts = []  # 标题
links2 = []  # 内容
# 【3】 遍历linkllist,存储标题和链接
for link in linklist:  # 标题
    texts.append(link.text.strip())  # 那么就从该字符串首尾去除空白字符。否则,函数第二个参数指定的字符将从该字符串中去除。
for link in linklist2:  # 内容
    links2.append(link.text.strip())  # python  中的用法啦
# 【4】通过zip,将信息输出到控制台
print(texts)
print(links2)
cunchu = []
#【5】保存到本地
output = open("my_file2.txt", 'w')
for text, link in zip(texts, links2):
    output.write(str(text) + '\n ' + str(link) + '\n')
output.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值