| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2537 人关注过本帖
标题:求助大神关于python爬虫的问题
只看楼主 加入收藏
LllSong
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-12-26
结帖率:0
收藏
 问题点数:0 回复次数:7 
求助大神关于python爬虫的问题
刚学python,不太会爬虫,现在想要爬取古诗文网的古诗的标题和正文,希望大佬帮忙看一下,跪谢
程序代码:
import requests
import re
from bs4 import BeautifulSoup
rex1=(r'\(.*?\)')
for i in range(1):
    url='http://www.'+str(i+1)
    web_data = requests.get(url)
    soup=BeautifulSoup(web_data.text,'lxml')
    context=soup.select('div[class="main3"]')[0].select('div[class="typeleft"]')[0].select('div[class="sons"]')
    title=context[0].select('strong')[0].text
    print(title)

这个是想要爬取标题的,但是只能抓到乱码,如图
图片附件: 游客没有浏览图片的权限,请 登录注册

然后网站是这样的
图片附件: 游客没有浏览图片的权限,请 登录注册

如果我想爬取这个正文的画应该怎么写代码呢?
图片附件: 游客没有浏览图片的权限,请 登录注册

跪谢!!!!

[此贴子已经被作者于2019-12-26 22:58编辑过]

搜索更多相关主题的帖子: python select 爬虫 import div 爬虫 import select python div 
2019-12-26 22:50
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 楼主 LllSong
程序代码:
from lxml import etree
import requests
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.48'}
res=requests.get("http://www.",headers=headers)
res.encoding=("utf-8")
s = etree.HTML(res.text)
title = s.xpath('//div[@class="sons"]/p/text()')
print(title[1])


DO IT YOURSELF !
2019-12-27 08:51
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 楼主 LllSong
e:\pytest>python ex23.py
关关雎鸠,在河之洲。窈窕淑女,君子好逑。
参差荇菜,左右流之。窈窕淑女,寤寐求之。
求之不得,寤寐思服。悠哉悠哉,辗转反侧。
参差荇菜,左右采之。窈窕淑女,琴瑟友之。
参差荇菜,左右芼之。窈窕淑女,钟鼓乐之

DO IT YOURSELF !
2019-12-27 08:51
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 楼主 LllSong
bs4:
程序代码:
import requests
from bs4 import BeautifulSoup

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.48'}
res=requests.get("http://www.",headers=headers)
res.encoding=("utf-8")
html = res.text
soup = BeautifulSoup(html, 'html.parser')
tags = soup.find('div',class_="sons")
print(tags.find_all('p')[2].text)       

 

e:\pytest>python ex23.py
关关雎鸠,在河之洲。窈窕淑女,君子好逑。
参差荇菜,左右流之。窈窕淑女,寤寐求之。
求之不得,寤寐思服。悠哉悠哉,辗转反侧。
参差荇菜,左右采之。窈窕淑女,琴瑟友之。
参差荇菜,左右芼之。窈窕淑女,钟鼓乐之...


DO IT YOURSELF !
2019-12-27 09:04
LllSong
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-12-26
收藏
得分:0 
回复 4楼 wp231957
谢谢大佬,我又有了新的问题
我现在的代码是这样的
import requests
import re
from bs4 import BeautifulSoup as bs
rex1=(r'\(.*?\)')
for i in range(3):
    url='http://www.'+str(i+1)
    web_data=requests.get(url)
    html=str(web_data.content,'utf-8')
    soup=bs(html,'lxml')
    contents=soup.select('div[class="main3"]')[0]
    contents=contents.select('div[class="main3"]')[0]
    contents=contents.select('div[class="typeleft"]')[0]
    contents=list(contents.select('div[class="sons"]'))
    for c in contents:
        title=c.select('p')[0].text
        title=title.strip().replace('\n','')
        text=c.select('p')[2].text
        text=text.strip().replace('\n','')
        text=text.replace('...','')
        print(title)
        print(text)
我想要去掉多余的空格和换行
但是得到的结果是这样的
图片附件: 游客没有浏览图片的权限,请 登录注册

而原来的是这样的
图片附件: 游客没有浏览图片的权限,请 登录注册

请问这个应该怎么解决呢?
2019-12-27 14:12
fall_bernana
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:243
专家分:2106
注 册:2019-8-16
收藏
得分:0 
回复 6楼 LllSong
取的都是最后一行.
text=text.strip().replace('\r\n','')
试试
2019-12-27 14:46
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 5楼 LllSong
bs4版本:

程序代码:
import requests
from bs4 import BeautifulSoup

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.48'}
res=requests.get("http://www.",headers=headers)
res.encoding=("utf-8")
html = res.text
soup = BeautifulSoup(html, 'html.parser')
tags = soup.find_all('div',class_="sons")
for tag in tags:
  print(tag.find_all('p')[0].text)    
  print(tag.find_all('p')[2].text.replace("...",""))          

 


e:\pytest>python ex23.py

  关雎
关关雎鸠,在河之洲。窈窕淑女,君子好逑。
参差荇菜,左右流之。窈窕淑女,寤寐求之。
求之不得,寤寐思服。悠哉悠哉,辗转反侧。
参差荇菜,左右采之。窈窕淑女,琴瑟友之。
参差荇菜,左右芼之。窈窕淑女,钟鼓乐之

  葛覃
葛之覃兮,施于中谷,维叶萋萋。黄鸟于飞,集于灌木,其鸣喈喈。
葛之覃兮,施于中谷,维叶莫莫。是刈是濩,为絺为绤,服之无斁。
言告师氏,言告言归。薄污我私,薄浣我衣。害浣害否,归宁父母。

  卷耳
采采卷耳,不盈顷筐。嗟我怀人,置彼周行。
陟彼崔嵬,我马虺隤。我姑酌彼金罍,维以不永怀。
陟彼高冈,我马玄黄。我姑酌彼兕觥,维以不永伤。
陟彼砠矣,我马瘏矣,我仆痡矣,云何吁矣。

  樛木
南有樛木,葛藟累之。乐只君子,福履绥之。
南有樛木,葛藟荒之。乐只君子,福履将之。
南有樛木,葛藟萦之。乐只君子,福履成之。

  螽斯
螽斯羽,诜诜兮。宜尔子孙,振振兮。
螽斯羽,薨薨兮。宜尔子孙。绳绳兮。
螽斯羽,揖揖兮。宜尔子孙,蛰蛰兮。

  桃夭
桃之夭夭,灼灼其华。之子于归,宜其室家。桃之夭夭,有蕡其实。之子于归,宜其家室。桃之夭夭,其叶蓁蓁。之子于归,宜其家人。

  兔罝
肃肃兔罝,椓之丁丁。赳赳武夫,公侯干城。
肃肃兔罝,施于中逵。赳赳武夫,公侯好仇。
肃肃免罝,施于中林。赳赳武夫,公侯腹心。

  芣苡
采采芣苡,薄言采之。采采芣苡,薄言有之。
采采芣苡,薄言掇之。采采芣苡,薄言捋之。
采采芣苡,薄言袺之。采采芣苡,薄言襭之。

  汉广
南有乔木,不可休息。汉有游女,不可求思。汉之广矣,不可泳思。江之永矣,不可方思。
翘翘错薪,言刈其楚。之子于归,言秣其马。汉之广矣,不可泳思。江之永矣,不可方思。
翘翘错薪,言刈其蒌。之子于归。言秣其驹。

  汝坟
遵彼汝坟,伐其条枚。未见君子,惄如调饥。
遵彼汝坟,伐其条肄。既见君子,不我遐弃。
鲂鱼赪尾,王室如毁。虽则如毁,父母孔迩。

DO IT YOURSELF !
2019-12-27 15:28
LllSong
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-12-26
收藏
得分:0 
回复 7楼 wp231957
谢谢谢谢
2019-12-27 16:48
快速回复:求助大神关于python爬虫的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023991 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved