每个帖子的Python Scrape论坛标题

圣殿骑士团

我是Web抓取的新手,还是Python的新手。我想在URL的论坛上抓取每个帖子的标题,因此,我将使用下面的标题之一创建一个新的帖子,我想接收带有该帖子链接的邮件。

通过搜索div structItem-titlei,我收到1页上的23个帖子。但是,当我要打印的每张发布的文字,我只收到的<class“海峡”>print(type(first_result.text))的<class“bs4.element.Tag”>print(type(first_result))

搜索标题

    # Jeti_DS_16 = soup.find_all(text="Jeti DS 16")
    # Jeti_DS_16_v2 = soup.find_all(text="Jeti DS 16 2")
    # Jeti_DC_16 = soup.find_all(text="Jeti DC 16")
    # Jeti_DC_16_v2 = soup.find_all(text="Jeti DC 16 2")

from requests import get
from bs4 import BeautifulSoup
import re
import smtplib
import time
import lxml


URL = 'https://www.rc-network.de/forums/biete-rc-elektronik-zubeh%C3%B6r.135/'

headers = {
    "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36'}


def checkForSearchItem():

    response = get(URL)
    # print(response.text[:500])

    # page = requests.get(URL, headers=headers)
    # page = requests.get(URL, headers=headers).text
    # page = requests.get(URL).text
    # page = requests.get(URL)

    soup = BeautifulSoup(response.content, "lxml")
    # soup = BeautifulSoup(page.content, "html.parser")
    # soup = BeautifulSoup(page.text, "html.parser")

    search_for_class = soup.find_all(
        'div', class_='structItem-title')
    # search_for_main = soup.find_all(
    #     'div', class_="structItemContainer-group js-threadList")
    # Jeti_DS_16 = soup.find_all(text="Jeti DS 16")
    # Jeti_DS_16_v2 = soup.find_all(text="Jeti DS 16 2")
    # Jeti_DC_16 = soup.find_all(text="Jeti DC 16")
    # Jeti_DC_16_v2 = soup.find_all(text="Jeti DC 16 2")

    # if(Jeti_DC_16, Jeti_DC_16_v2, Jeti_DS_16, Jeti_DS_16_v2):
    #     send_mail()

    # print('Die Nummer {0} {1} {2} {3} wurden gezogen'.format(
    #     Jeti_DC_16, Jeti_DC_16_v2, Jeti_DS_16, Jeti_DS_16_v2))

    print(type(search_for_class))
    print(len(search_for_class))

    first_result = search_for_class[0]
    # print(type(first_result.h3))
    # print(type(first_result.div.a.text))
    # print(type(first_result.a.text))
    # print(type(first_result.p.text))
    # print(type(first_result.name.text))
    # print(type(first_result.title))
    print(type(first_result))
    print(type(first_result.text))
    # print(soup.div)


# def send_mail():

#     server_ssl = smtplib.SMTP_SSL('smtp.gmail.com', 465)
#     server_ssl.ehlo()
#     # server.starttls()
#     # server.ehlo()

#     server_ssl.login('[email protected]', 'SecurePassword')

#     subject = 'Es gibt ein neuer Post im RC-Network auf deine gespeicherte Anfragen. Sieh in dir an{Link to Post}'
#     body = 'Sieh es dir an Link: https://www.rc-network.de/forums/biete-rc-elektronik-zubeh%C3%B6r.135/'

#     msg = f"Subject: {subject}\n\n{body}"
#     emails = ["[email protected]"]

#     server_ssl.sendmail(
#         '[email protected]',
#         emails,
#         msg
#     )
#     print('e-Mail wurde versendet!')

#     server_ssl.quit


while(True):
    checkForSearchItem()
    time.sleep(600)
    # time.sleep(86400)
弗雷德里克

当您要打印文本时,不需要type()。type()函数只是查看变量具有哪种类型(int,str,...)。没有type()的代码对我来说很好,可以打印文本。这意味着,在打印语句上而不是这样:

print(type(first_result.text))

这样写:

print(first_result.text)

我希望那是您的问题所在,我可以为您提供帮助。当您需要帖子的URI时,必须在帖子div中获取一个Tag并从中提取您的URI,如下所示:

def checkForSearchItem():

    response = get(URL)

    soup = BeautifulSoup(response.content, "lxml")

    posts = soup.find_all('div', class_='structItem-title')

    for post in posts:
        a_tag = post.find_all('a')[0] # The a-tag inside the div
        link = a_tag.get('href') # The href inside the a-tag
        url = f'https://www.rc-network.de{link}' # The full URI because the 'link' looks like /threads/sensoren-von-graupner.11835933/
        print(post.text)
        print(url)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用lxml / python解析论坛帖子

来自分类Dev

Rails查询以获取论坛主题中的所有帖子,然后获取每个帖子的用户

来自分类Dev

使用python3和漂亮的汤解析论坛帖子

来自分类Dev

在xenoforo论坛上查找特定用户的帖子的Python脚本

来自分类Dev

每个作者在其自己的帖子中的自定义帖子类型标题

来自分类Dev

neo4j,在论坛结构中,如何查找每个帖子得到了多少回复(包括孩子的孩子...)

来自分类Dev

neo4j,在论坛结构中,如何查找每个帖子得到了多少回复(包括孩子的孩子...)

来自分类Dev

论坛标题网页抓取工具

来自分类Dev

Jsoup:从论坛获取线程标题

来自分类Dev

论坛标题网页抓取工具

来自分类Dev

将自定义数据添加到wordpress中每个帖子标题的顶部吗?

来自分类Dev

API不返回论坛帖子的照片

来自分类Dev

确定论坛帖子所在的页面

来自分类Dev

使用xpath从论坛帖子中排除blockquote

来自分类Dev

从论坛帖子中解析评论级别

来自分类Dev

Laravel 删除一个论坛的帖子

来自分类Dev

bbPress 4 个月后删除论坛帖子

来自分类Dev

按最新帖子的顺序拉论坛帖子

来自分类Dev

AngularJS帖子的全局标题

来自分类Dev

搜索帖子标题

来自分类Dev

搜寻论坛:无法搜寻其中包含表格的帖子

来自分类Dev

如何在php的论坛帖子内容中添加“提及”?

来自分类Dev

允许人们在论坛帖子中使用<script>标签是否危险?

来自分类Dev

我如何在单个论坛帖子中显示很多评论

来自分类Dev

搜寻论坛:无法搜寻其中包含表格的帖子

来自分类Dev

XSLT:如何标记在线论坛的帖子内容

来自分类Dev

加载每个朋友的帖子

来自分类Dev

每个帖子之间的间隔

来自分类Dev

通过帖子标题获取wordpress帖子

Related 相关文章

  1. 1

    使用lxml / python解析论坛帖子

  2. 2

    Rails查询以获取论坛主题中的所有帖子,然后获取每个帖子的用户

  3. 3

    使用python3和漂亮的汤解析论坛帖子

  4. 4

    在xenoforo论坛上查找特定用户的帖子的Python脚本

  5. 5

    每个作者在其自己的帖子中的自定义帖子类型标题

  6. 6

    neo4j,在论坛结构中,如何查找每个帖子得到了多少回复(包括孩子的孩子...)

  7. 7

    neo4j,在论坛结构中,如何查找每个帖子得到了多少回复(包括孩子的孩子...)

  8. 8

    论坛标题网页抓取工具

  9. 9

    Jsoup:从论坛获取线程标题

  10. 10

    论坛标题网页抓取工具

  11. 11

    将自定义数据添加到wordpress中每个帖子标题的顶部吗?

  12. 12

    API不返回论坛帖子的照片

  13. 13

    确定论坛帖子所在的页面

  14. 14

    使用xpath从论坛帖子中排除blockquote

  15. 15

    从论坛帖子中解析评论级别

  16. 16

    Laravel 删除一个论坛的帖子

  17. 17

    bbPress 4 个月后删除论坛帖子

  18. 18

    按最新帖子的顺序拉论坛帖子

  19. 19

    AngularJS帖子的全局标题

  20. 20

    搜索帖子标题

  21. 21

    搜寻论坛:无法搜寻其中包含表格的帖子

  22. 22

    如何在php的论坛帖子内容中添加“提及”?

  23. 23

    允许人们在论坛帖子中使用<script>标签是否危险?

  24. 24

    我如何在单个论坛帖子中显示很多评论

  25. 25

    搜寻论坛:无法搜寻其中包含表格的帖子

  26. 26

    XSLT:如何标记在线论坛的帖子内容

  27. 27

    加载每个朋友的帖子

  28. 28

    每个帖子之间的间隔

  29. 29

    通过帖子标题获取wordpress帖子

热门标签

归档