Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails to read info from specific websites #8

Open
Nutomic opened this issue Apr 22, 2022 · 6 comments
Open

Fails to read info from specific websites #8

Nutomic opened this issue Apr 22, 2022 · 6 comments

Comments

@Nutomic
Copy link

Nutomic commented Apr 22, 2022

According to reports from our users, webpage-rs is unable to parse info from https://oko.press/ website.

I was able to reproduce this by putting the site url into from_url test case.

Downstream issue: LemmyNet/lemmy#1796 (the other sites mentioned in the issue work fine in my tests).

@orottier
Copy link
Owner

Thanks for reporting.

I had a quick look: a stray <span id="fb-root"></span> in the <head> on that site seems to trick the parser into thinking the <body> has started. The people downstream at the html5ever project may be interested in picking that up.

My library only picks up the meta info that is actually located in the <head>.
I could change that to look in the body as well, but that should be opt-in. Would that work for you?

@Nutomic
Copy link
Author

Nutomic commented Apr 22, 2022

Using an opt-in is no problem, assuming that there are no negative side effects.

And im not familiar with html5ever, so not sure how it relates.

@orottier
Copy link
Owner

Okay, I can pick this up next week. Feel free to open a PR if you are in a hurry

@harcesz
Copy link

harcesz commented Apr 25, 2022

I've got little idea how this actually works, but maybe it would make sense to trigger searching in the body if no data is found in the head? (original reporter here)

Unless the problem is multiple matching tags, which I guess might be what's going on with the charset on some of such pages for example;

https://wyborcza.biz/biznes/7,147582,28355528,klasa-srednia-zaciska-pasa.html?squid_js=false

has
<script src="[https://cdn.cookielaw.org/scripttemplates/otSDKStub.js](view-source:https://cdn.cookielaw.org/scripttemplates/otSDKStub.js)" type="text/javascript" charset="UTF-8" data-domain-script="109023

before we arrive at the actual
<meta charset="ISO-8859-2">

so we end up with something like this on our page;
Zrzut ekranu z 2022-04-25 11-27-48

(and that's one of the biggest news media in Poland, not some random small things, dont ask me why would anyone still use ISO charsets)

@jorgesumle
Copy link

jorgesumle commented Jun 24, 2023

Not sure if I should open another issue, but Lemmy doesn't seem to get images from root-relative URLs like this one: <meta property="og:image" content="/wp-content/uploads/2023/06/JavaScript-modificando-el-portapapeles.png">. I didn't test if this library is the problem or just Lemmy, because I don't know Rust. Other programs like Telegram, Postmill, Mastodon and Facebook can display the image of root-relative URLs when shared.

Here you can find such og:image to make tests: https://freakspot.net/eo/eviti-ke-%C4%9Cavoskripto-modifu-la-tondujon/

@orottier
Copy link
Owner

Thanks for bringing this to my attention @jorgesumle
This library only lists the opengraph fields as-is, and it is lemmy that then tries to fetch the listed URLs, so I think it is up to lemmy to resolve the URLs properly. I created a PR on the lemmy repo for it. Perhaps you can vouch for it over there!

Leaving this issue open to address the original issue. That should be fixed on my part.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants